From 91a37c2c472807029ed0566d211a7aee102a0142 Mon Sep 17 00:00:00 2001 From: AWS SDK Rust Bot Date: Thu, 18 Jul 2024 19:35:37 +0000 Subject: [PATCH] Update SDK models --- Cargo.toml | 4 +- aws-models/acm-pca.json | 9 +- aws-models/connect.json | 526 +++++++++++++++++- aws-models/ec2.json | 428 +++++++++++++- aws-models/firehose.json | 331 ++++++++++- aws-models/ivschat.json | 2 +- aws-models/medialive.json | 243 +++++++- aws-models/rds.json | 16 +- aws-models/sagemaker.json | 216 +++++++ aws-models/sdk-endpoints.json | 42 +- aws-models/secrets-manager.json | 34 +- aws-models/taxsettings.json | 457 +++++++++++---- aws-models/timestream-query.json | 2 +- aws-models/workspaces-thin-client.json | 2 +- examples/examples/aurora/Cargo.toml | 2 +- examples/examples/auto-scaling/Cargo.toml | 2 +- examples/examples/ebs/Cargo.toml | 2 +- examples/examples/ec2/Cargo.toml | 2 +- examples/examples/firehose/Cargo.toml | 2 +- examples/examples/lambda/Cargo.toml | 2 +- examples/examples/medialive/Cargo.toml | 2 +- examples/examples/rds/Cargo.toml | 2 +- examples/examples/sagemaker/Cargo.toml | 2 +- examples/examples/secretsmanager/Cargo.toml | 2 +- examples/lambda/calculator/Cargo.toml | 2 +- sdk/acmpca/Cargo.toml | 2 +- sdk/acmpca/README.md | 2 +- sdk/acmpca/src/lib.rs | 2 +- .../src/waiters/audit_report_created.rs | 2 +- .../certificate_authority_csr_created.rs | 2 +- sdk/acmpca/src/waiters/certificate_issued.rs | 2 +- sdk/connect/Cargo.toml | 2 +- sdk/connect/README.md | 2 +- sdk/connect/src/client.rs | 4 + sdk/connect/src/client/get_metric_data_v2.rs | 2 +- .../src/client/search_agent_statuses.rs | 20 + .../src/client/search_resource_tags.rs | 2 +- .../client/search_user_hierarchy_groups.rs | 20 + sdk/connect/src/error_meta.rs | 73 +++ sdk/connect/src/lens.rs | 40 ++ sdk/connect/src/lib.rs | 2 +- sdk/connect/src/operation.rs | 6 + .../_get_metric_data_v2_input.rs | 10 +- .../operation/get_metric_data_v2/builders.rs | 6 +- .../src/operation/search_agent_statuses.rs | 395 +++++++++++++ .../_search_agent_statuses_input.rs | 141 +++++ .../_search_agent_statuses_output.rs | 118 ++++ .../search_agent_statuses/builders.rs | 187 +++++++ .../search_agent_statuses/paginator.rs | 147 +++++ .../_search_resource_tags_input.rs | 95 ++++ .../search_resource_tags/builders.rs | 57 ++ .../operation/search_user_hierarchy_groups.rs | 396 +++++++++++++ .../_search_user_hierarchy_groups_input.rs | 143 +++++ .../_search_user_hierarchy_groups_output.rs | 118 ++++ .../search_user_hierarchy_groups/builders.rs | 189 +++++++ .../search_user_hierarchy_groups/paginator.rs | 149 +++++ sdk/connect/src/protocol_serde.rs | 30 + .../protocol_serde/shape_agent_status_list.rs | 32 ++ .../shape_agent_status_search_criteria.rs | 37 ++ .../shape_agent_status_search_filter.rs | 13 + .../shape_common_attribute_and_condition.rs | 19 + .../src/protocol_serde/shape_condition.rs | 19 + .../shape_control_plane_attribute_filter.rs | 31 ++ .../protocol_serde/shape_list_condition.rs | 22 + .../protocol_serde/shape_number_condition.rs | 25 + .../shape_search_agent_statuses.rs | 178 ++++++ .../shape_search_agent_statuses_input.rs | 31 ++ .../shape_search_user_hierarchy_groups.rs | 184 ++++++ ...hape_search_user_hierarchy_groups_input.rs | 31 ++ .../shape_user_hierarchy_group_list.rs | 32 ++ ...pe_user_hierarchy_group_search_criteria.rs | 37 ++ ...hape_user_hierarchy_group_search_filter.rs | 13 + .../shape_user_search_criteria.rs | 12 +- sdk/connect/src/types.rs | 64 ++- .../types/_agent_status_search_criteria.rs | 130 +++++ .../src/types/_agent_status_search_filter.rs | 80 +++ .../types/_common_attribute_and_condition.rs | 58 ++ sdk/connect/src/types/_condition.rs | 82 +++ .../_contact_flow_module_search_criteria.rs | 20 +- .../types/_contact_flow_search_criteria.rs | 20 +- .../types/_control_plane_attribute_filter.rs | 108 ++++ sdk/connect/src/types/_list_condition.rs | 80 +++ .../src/types/_number_comparison_type.rs | 137 +++++ sdk/connect/src/types/_number_condition.rs | 118 ++++ .../_predefined_attribute_search_criteria.rs | 20 +- .../_security_profile_search_criteria.rs | 20 +- sdk/connect/src/types/_string_condition.rs | 4 +- sdk/connect/src/types/_target_list_type.rs | 101 ++++ .../_user_hierarchy_group_search_criteria.rs | 120 ++++ .../_user_hierarchy_group_search_filter.rs | 80 +++ .../src/types/_user_search_criteria.rs | 22 + sdk/connect/src/types/builders.rs | 34 +- sdk/ec2/Cargo.toml | 2 +- sdk/ec2/README.md | 2 +- sdk/ec2/src/client.rs | 6 + ...am_external_resource_verification_token.rs | 20 + sdk/ec2/src/client/create_ipam_pool.rs | 2 +- ...am_external_resource_verification_token.rs | 18 + ...m_external_resource_verification_tokens.rs | 21 + .../src/client/describe_placement_groups.rs | 2 +- .../src/client/provision_ipam_pool_cidr.rs | 4 +- sdk/ec2/src/error_meta.rs | 102 ++++ sdk/ec2/src/lib.rs | 2 +- sdk/ec2/src/operation.rs | 9 + ...am_external_resource_verification_token.rs | 355 ++++++++++++ ...ernal_resource_verification_token_input.rs | 133 +++++ ...rnal_resource_verification_token_output.rs | 70 +++ .../builders.rs | 178 ++++++ .../_create_ipam_pool_input.rs | 55 +- .../operation/create_ipam_pool/builders.rs | 33 +- ...am_external_resource_verification_token.rs | 350 ++++++++++++ ...ernal_resource_verification_token_input.rs | 81 +++ ...rnal_resource_verification_token_output.rs | 70 +++ .../builders.rs | 145 +++++ ...m_external_resource_verification_tokens.rs | 345 ++++++++++++ ...rnal_resource_verification_tokens_input.rs | 267 +++++++++ ...nal_resource_verification_tokens_output.rs | 106 ++++ .../builders.rs | 262 +++++++++ .../_describe_placement_groups_input.rs | 40 +- .../describe_placement_groups/builders.rs | 29 +- .../builders.rs | 1 - .../operation/get_console_output/builders.rs | 2 - .../_provision_ipam_pool_cidr_input.rs | 54 +- .../provision_ipam_pool_cidr/builders.rs | 34 +- sdk/ec2/src/protocol_serde.rs | 16 + ...am_external_resource_verification_token.rs | 77 +++ ...ernal_resource_verification_token_input.rs | 38 ++ ...am_external_resource_verification_token.rs | 77 +++ ...ernal_resource_verification_token_input.rs | 20 + ...m_external_resource_verification_tokens.rs | 94 ++++ ...rnal_resource_verification_tokens_input.rs | 54 ++ ...am_external_resource_verification_token.rs | 157 ++++++ ...xternal_resource_verification_token_set.rs | 19 + .../shape_provision_ipam_pool_cidr_input.rs | 10 + sdk/ec2/src/types.rs | 16 + .../types/_fleet_launch_template_overrides.rs | 15 +- ...fleet_launch_template_overrides_request.rs | 15 +- .../types/_ipam_discovered_resource_cidr.rs | 10 +- ...am_external_resource_verification_token.rs | 278 +++++++++ ...ernal_resource_verification_token_state.rs | 140 +++++ sdk/ec2/src/types/_ipam_pool.rs | 50 +- .../src/types/_launch_template_overrides.rs | 25 +- sdk/ec2/src/types/_resource_type.rs | 7 + .../types/_spot_fleet_launch_specification.rs | 20 +- sdk/ec2/src/types/_token_state.rs | 107 ++++ sdk/ec2/src/types/_verification_method.rs | 107 ++++ sdk/ec2/src/types/_volume_modification.rs | 11 +- sdk/ec2/src/types/builders.rs | 2 + sdk/firehose/Cargo.toml | 2 +- sdk/firehose/README.md | 2 +- .../src/client/create_delivery_stream.rs | 1 + sdk/firehose/src/client/update_destination.rs | 1 + sdk/firehose/src/lib.rs | 2 +- .../_create_delivery_stream_input.rs | 27 + .../create_delivery_stream/builders.rs | 17 + .../_update_destination_input.rs | 27 + .../operation/update_destination/builders.rs | 17 + sdk/firehose/src/protocol_serde.rs | 22 +- .../shape_catalog_configuration.rs | 50 ++ .../shape_create_delivery_stream_input.rs | 6 + .../shape_destination_description.rs | 5 + .../shape_destination_table_configuration.rs | 88 +++ ...pe_destination_table_configuration_list.rs | 32 ++ ...shape_iceberg_destination_configuration.rs | 61 ++ .../shape_iceberg_destination_description.rs | 77 +++ .../shape_iceberg_destination_update.rs | 61 ++ .../shape_msk_source_configuration.rs | 5 + .../shape_msk_source_description.rs | 6 + .../shape_snowflake_buffering_hints.rs | 66 +++ ...ape_snowflake_destination_configuration.rs | 6 + ...shape_snowflake_destination_description.rs | 5 + .../shape_snowflake_destination_update.rs | 6 + .../shape_update_destination_input.rs | 6 + sdk/firehose/src/serde_util.rs | 12 + sdk/firehose/src/types.rs | 52 +- .../src/types/_catalog_configuration.rs | 56 ++ .../src/types/_destination_description.rs | 27 + .../types/_destination_table_configuration.rs | 162 ++++++ .../_iceberg_destination_configuration.rs | 269 +++++++++ .../types/_iceberg_destination_description.rs | 258 +++++++++ .../src/types/_iceberg_destination_update.rs | 258 +++++++++ .../src/types/_iceberg_s3_backup_mode.rs | 107 ++++ .../src/types/_msk_source_configuration.rs | 27 + .../src/types/_msk_source_description.rs | 27 + .../src/types/_snowflake_buffering_hints.rs | 72 +++ .../_snowflake_destination_configuration.rs | 24 + .../_snowflake_destination_description.rs | 24 + .../types/_snowflake_destination_update.rs | 24 + sdk/firehose/src/types/builders.rs | 34 +- sdk/ivschat/Cargo.toml | 2 +- sdk/ivschat/README.md | 41 +- sdk/ivschat/src/lib.rs | 41 +- sdk/medialive/Cargo.toml | 2 +- sdk/medialive/README.md | 2 +- sdk/medialive/src/client/create_input.rs | 1 + sdk/medialive/src/client/describe_input.rs | 1 + sdk/medialive/src/client/update_input.rs | 1 + sdk/medialive/src/lib.rs | 2 +- .../create_input/_create_input_input.rs | 22 + .../src/operation/create_input/builders.rs | 14 + .../describe_input/_describe_input_output.rs | 22 + .../update_input/_update_input_input.rs | 22 + .../src/operation/update_input/builders.rs | 14 + sdk/medialive/src/protocol_serde.rs | 14 + .../shape_create_input_input.rs | 28 +- .../protocol_serde/shape_describe_input.rs | 3 + .../src/protocol_serde/shape_input.rs | 3 + .../shape_list_of_srt_caller_source.rs | 32 ++ .../shape_srt_caller_decryption.rs | 47 ++ .../shape_srt_caller_decryption_request.rs | 13 + .../protocol_serde/shape_srt_caller_source.rs | 64 +++ .../shape_srt_caller_source_request.rs | 28 + .../src/protocol_serde/shape_srt_settings.rs | 38 ++ .../shape_srt_settings_request.rs | 19 + .../shape_update_input_input.rs | 6 + sdk/medialive/src/types.rs | 28 + sdk/medialive/src/types/_algorithm.rs | 113 ++++ .../src/types/_eac3_atmos_settings.rs | 10 +- sdk/medialive/src/types/_h264_settings.rs | 10 +- sdk/medialive/src/types/_h265_settings.rs | 10 +- sdk/medialive/src/types/_input.rs | 22 + sdk/medialive/src/types/_input_type.rs | 7 + .../src/types/_srt_caller_decryption.rs | 72 +++ .../types/_srt_caller_decryption_request.rs | 72 +++ sdk/medialive/src/types/_srt_caller_source.rs | 138 +++++ .../src/types/_srt_caller_source_request.rs | 138 +++++ sdk/medialive/src/types/_srt_settings.rs | 58 ++ .../src/types/_srt_settings_request.rs | 58 ++ sdk/medialive/src/types/builders.rs | 12 + sdk/rds/Cargo.toml | 2 +- sdk/rds/README.md | 2 +- sdk/rds/src/client/create_db_cluster.rs | 2 +- sdk/rds/src/client/create_db_instance.rs | 2 +- sdk/rds/src/client/delete_db_cluster.rs | 2 +- .../client/describe_db_cluster_parameters.rs | 2 +- sdk/rds/src/client/modify_db_instance.rs | 2 +- sdk/rds/src/lib.rs | 2 +- .../_create_db_cluster_input.rs | 10 +- .../operation/create_db_cluster/builders.rs | 6 +- .../_create_db_instance_input.rs | 10 +- .../operation/create_db_instance/builders.rs | 6 +- .../_delete_db_cluster_input.rs | 20 +- .../operation/delete_db_cluster/builders.rs | 12 +- .../_describe_db_cluster_parameters_input.rs | 10 +- .../builders.rs | 6 +- .../builders.rs | 1 + .../_modify_db_instance_input.rs | 10 +- .../operation/modify_db_instance/builders.rs | 6 +- sdk/rds/src/types/_db_cluster.rs | 10 +- sdk/rds/src/types/_db_instance.rs | 10 +- sdk/sagemaker/Cargo.toml | 2 +- sdk/sagemaker/README.md | 2 +- sdk/sagemaker/src/lib.rs | 2 +- .../src/types/_processing_instance_type.rs | 112 ++++ .../src/types/_training_instance_type.rs | 140 +++++ sdk/secretsmanager/Cargo.toml | 2 +- sdk/secretsmanager/README.md | 2 +- .../src/client/update_secret.rs | 2 +- sdk/secretsmanager/src/lib.rs | 2 +- .../src/operation/create_secret/builders.rs | 4 +- .../operation/put_secret_value/builders.rs | 4 +- .../update_secret/_update_secret_input.rs | 10 +- .../src/operation/update_secret/builders.rs | 10 +- sdk/taxsettings/Cargo.toml | 2 +- sdk/taxsettings/README.md | 2 +- sdk/taxsettings/src/config/endpoint.rs | 508 +++++++++++++---- .../src/config/endpoint/internals.rs | 114 ++-- sdk/taxsettings/src/lib.rs | 2 +- .../batch_delete_tax_registration.rs | 2 +- .../operation/batch_put_tax_registration.rs | 2 +- .../src/operation/delete_tax_registration.rs | 2 +- .../src/operation/get_tax_registration.rs | 2 +- .../get_tax_registration_document.rs | 2 +- .../src/operation/list_tax_registrations.rs | 2 +- .../src/operation/put_tax_registration.rs | 2 +- sdk/timestreamquery/Cargo.toml | 2 +- sdk/timestreamquery/README.md | 2 +- .../src/client/update_account_settings.rs | 2 +- sdk/timestreamquery/src/lib.rs | 2 +- .../_update_account_settings_input.rs | 20 +- .../update_account_settings/builders.rs | 12 +- sdk/workspacesthinclient/Cargo.toml | 2 +- sdk/workspacesthinclient/README.md | 2 +- sdk/workspacesthinclient/src/lib.rs | 2 +- .../src/types/_environment.rs | 10 +- versions.toml | 475 ++-------------- 286 files changed, 14571 insertions(+), 1169 deletions(-) create mode 100644 sdk/connect/src/client/search_agent_statuses.rs create mode 100644 sdk/connect/src/client/search_user_hierarchy_groups.rs create mode 100644 sdk/connect/src/operation/search_agent_statuses.rs create mode 100644 sdk/connect/src/operation/search_agent_statuses/_search_agent_statuses_input.rs create mode 100644 sdk/connect/src/operation/search_agent_statuses/_search_agent_statuses_output.rs create mode 100644 sdk/connect/src/operation/search_agent_statuses/builders.rs create mode 100644 sdk/connect/src/operation/search_agent_statuses/paginator.rs create mode 100644 sdk/connect/src/operation/search_user_hierarchy_groups.rs create mode 100644 sdk/connect/src/operation/search_user_hierarchy_groups/_search_user_hierarchy_groups_input.rs create mode 100644 sdk/connect/src/operation/search_user_hierarchy_groups/_search_user_hierarchy_groups_output.rs create mode 100644 sdk/connect/src/operation/search_user_hierarchy_groups/builders.rs create mode 100644 sdk/connect/src/operation/search_user_hierarchy_groups/paginator.rs create mode 100644 sdk/connect/src/protocol_serde/shape_agent_status_list.rs create mode 100644 sdk/connect/src/protocol_serde/shape_agent_status_search_criteria.rs create mode 100644 sdk/connect/src/protocol_serde/shape_agent_status_search_filter.rs create mode 100644 sdk/connect/src/protocol_serde/shape_common_attribute_and_condition.rs create mode 100644 sdk/connect/src/protocol_serde/shape_condition.rs create mode 100644 sdk/connect/src/protocol_serde/shape_control_plane_attribute_filter.rs create mode 100644 sdk/connect/src/protocol_serde/shape_list_condition.rs create mode 100644 sdk/connect/src/protocol_serde/shape_number_condition.rs create mode 100644 sdk/connect/src/protocol_serde/shape_search_agent_statuses.rs create mode 100644 sdk/connect/src/protocol_serde/shape_search_agent_statuses_input.rs create mode 100644 sdk/connect/src/protocol_serde/shape_search_user_hierarchy_groups.rs create mode 100644 sdk/connect/src/protocol_serde/shape_search_user_hierarchy_groups_input.rs create mode 100644 sdk/connect/src/protocol_serde/shape_user_hierarchy_group_list.rs create mode 100644 sdk/connect/src/protocol_serde/shape_user_hierarchy_group_search_criteria.rs create mode 100644 sdk/connect/src/protocol_serde/shape_user_hierarchy_group_search_filter.rs create mode 100644 sdk/connect/src/types/_agent_status_search_criteria.rs create mode 100644 sdk/connect/src/types/_agent_status_search_filter.rs create mode 100644 sdk/connect/src/types/_common_attribute_and_condition.rs create mode 100644 sdk/connect/src/types/_condition.rs create mode 100644 sdk/connect/src/types/_control_plane_attribute_filter.rs create mode 100644 sdk/connect/src/types/_list_condition.rs create mode 100644 sdk/connect/src/types/_number_comparison_type.rs create mode 100644 sdk/connect/src/types/_number_condition.rs create mode 100644 sdk/connect/src/types/_target_list_type.rs create mode 100644 sdk/connect/src/types/_user_hierarchy_group_search_criteria.rs create mode 100644 sdk/connect/src/types/_user_hierarchy_group_search_filter.rs create mode 100644 sdk/ec2/src/client/create_ipam_external_resource_verification_token.rs create mode 100644 sdk/ec2/src/client/delete_ipam_external_resource_verification_token.rs create mode 100644 sdk/ec2/src/client/describe_ipam_external_resource_verification_tokens.rs create mode 100644 sdk/ec2/src/operation/create_ipam_external_resource_verification_token.rs create mode 100644 sdk/ec2/src/operation/create_ipam_external_resource_verification_token/_create_ipam_external_resource_verification_token_input.rs create mode 100644 sdk/ec2/src/operation/create_ipam_external_resource_verification_token/_create_ipam_external_resource_verification_token_output.rs create mode 100644 sdk/ec2/src/operation/create_ipam_external_resource_verification_token/builders.rs create mode 100644 sdk/ec2/src/operation/delete_ipam_external_resource_verification_token.rs create mode 100644 sdk/ec2/src/operation/delete_ipam_external_resource_verification_token/_delete_ipam_external_resource_verification_token_input.rs create mode 100644 sdk/ec2/src/operation/delete_ipam_external_resource_verification_token/_delete_ipam_external_resource_verification_token_output.rs create mode 100644 sdk/ec2/src/operation/delete_ipam_external_resource_verification_token/builders.rs create mode 100644 sdk/ec2/src/operation/describe_ipam_external_resource_verification_tokens.rs create mode 100644 sdk/ec2/src/operation/describe_ipam_external_resource_verification_tokens/_describe_ipam_external_resource_verification_tokens_input.rs create mode 100644 sdk/ec2/src/operation/describe_ipam_external_resource_verification_tokens/_describe_ipam_external_resource_verification_tokens_output.rs create mode 100644 sdk/ec2/src/operation/describe_ipam_external_resource_verification_tokens/builders.rs create mode 100644 sdk/ec2/src/protocol_serde/shape_create_ipam_external_resource_verification_token.rs create mode 100644 sdk/ec2/src/protocol_serde/shape_create_ipam_external_resource_verification_token_input.rs create mode 100644 sdk/ec2/src/protocol_serde/shape_delete_ipam_external_resource_verification_token.rs create mode 100644 sdk/ec2/src/protocol_serde/shape_delete_ipam_external_resource_verification_token_input.rs create mode 100644 sdk/ec2/src/protocol_serde/shape_describe_ipam_external_resource_verification_tokens.rs create mode 100644 sdk/ec2/src/protocol_serde/shape_describe_ipam_external_resource_verification_tokens_input.rs create mode 100644 sdk/ec2/src/protocol_serde/shape_ipam_external_resource_verification_token.rs create mode 100644 sdk/ec2/src/protocol_serde/shape_ipam_external_resource_verification_token_set.rs create mode 100644 sdk/ec2/src/types/_ipam_external_resource_verification_token.rs create mode 100644 sdk/ec2/src/types/_ipam_external_resource_verification_token_state.rs create mode 100644 sdk/ec2/src/types/_token_state.rs create mode 100644 sdk/ec2/src/types/_verification_method.rs create mode 100644 sdk/firehose/src/protocol_serde/shape_catalog_configuration.rs create mode 100644 sdk/firehose/src/protocol_serde/shape_destination_table_configuration.rs create mode 100644 sdk/firehose/src/protocol_serde/shape_destination_table_configuration_list.rs create mode 100644 sdk/firehose/src/protocol_serde/shape_iceberg_destination_configuration.rs create mode 100644 sdk/firehose/src/protocol_serde/shape_iceberg_destination_description.rs create mode 100644 sdk/firehose/src/protocol_serde/shape_iceberg_destination_update.rs create mode 100644 sdk/firehose/src/protocol_serde/shape_snowflake_buffering_hints.rs create mode 100644 sdk/firehose/src/types/_catalog_configuration.rs create mode 100644 sdk/firehose/src/types/_destination_table_configuration.rs create mode 100644 sdk/firehose/src/types/_iceberg_destination_configuration.rs create mode 100644 sdk/firehose/src/types/_iceberg_destination_description.rs create mode 100644 sdk/firehose/src/types/_iceberg_destination_update.rs create mode 100644 sdk/firehose/src/types/_iceberg_s3_backup_mode.rs create mode 100644 sdk/firehose/src/types/_snowflake_buffering_hints.rs create mode 100644 sdk/medialive/src/protocol_serde/shape_list_of_srt_caller_source.rs create mode 100644 sdk/medialive/src/protocol_serde/shape_srt_caller_decryption.rs create mode 100644 sdk/medialive/src/protocol_serde/shape_srt_caller_decryption_request.rs create mode 100644 sdk/medialive/src/protocol_serde/shape_srt_caller_source.rs create mode 100644 sdk/medialive/src/protocol_serde/shape_srt_caller_source_request.rs create mode 100644 sdk/medialive/src/protocol_serde/shape_srt_settings.rs create mode 100644 sdk/medialive/src/protocol_serde/shape_srt_settings_request.rs create mode 100644 sdk/medialive/src/types/_algorithm.rs create mode 100644 sdk/medialive/src/types/_srt_caller_decryption.rs create mode 100644 sdk/medialive/src/types/_srt_caller_decryption_request.rs create mode 100644 sdk/medialive/src/types/_srt_caller_source.rs create mode 100644 sdk/medialive/src/types/_srt_caller_source_request.rs create mode 100644 sdk/medialive/src/types/_srt_settings.rs create mode 100644 sdk/medialive/src/types/_srt_settings_request.rs diff --git a/Cargo.toml b/Cargo.toml index e2b218dc5648..dfafed68d068 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,10 +1,10 @@ [workspace] resolver = "2" exclude = [ - "examples/examples", "examples/lambda", - "examples/test-utils", "examples/cross_service", + "examples/test-utils", + "examples/examples", "examples/webassembly", "tests/no-default-features", "tests/webassembly" diff --git a/aws-models/acm-pca.json b/aws-models/acm-pca.json index 68c5c76f58b4..4c2a880b7f10 100644 --- a/aws-models/acm-pca.json +++ b/aws-models/acm-pca.json @@ -2366,7 +2366,8 @@ } } ], - "minDelay": 3 + "minDelay": 3, + "maxDelay": 180 } } } @@ -2742,7 +2743,8 @@ } } ], - "minDelay": 1 + "minDelay": 1, + "maxDelay": 60 } } } @@ -2858,7 +2860,8 @@ } } ], - "minDelay": 3 + "minDelay": 3, + "maxDelay": 180 } } } diff --git a/aws-models/connect.json b/aws-models/connect.json index 04b778e2b980..3e909398a2c9 100644 --- a/aws-models/connect.json +++ b/aws-models/connect.json @@ -576,6 +576,12 @@ "com.amazonaws.connect#AgentStatusId": { "type": "string" }, + "com.amazonaws.connect#AgentStatusList": { + "type": "list", + "member": { + "target": "com.amazonaws.connect#AgentStatus" + } + }, "com.amazonaws.connect#AgentStatusName": { "type": "string", "traits": { @@ -620,6 +626,52 @@ "smithy.api#documentation": "

Information about the agent's status.

" } }, + "com.amazonaws.connect#AgentStatusSearchConditionList": { + "type": "list", + "member": { + "target": "com.amazonaws.connect#AgentStatusSearchCriteria" + } + }, + "com.amazonaws.connect#AgentStatusSearchCriteria": { + "type": "structure", + "members": { + "OrConditions": { + "target": "com.amazonaws.connect#AgentStatusSearchConditionList", + "traits": { + "smithy.api#documentation": "

A list of conditions which would be applied together with an OR\n condition.

" + } + }, + "AndConditions": { + "target": "com.amazonaws.connect#AgentStatusSearchConditionList", + "traits": { + "smithy.api#documentation": "

A leaf node condition which can be used to specify a string condition.

\n \n

The currently supported values for FieldName are name,\u2028\u2028\n description, state, type, displayOrder,\u2028\n and resourceID.

\n
" + } + }, + "StringCondition": { + "target": "com.amazonaws.connect#StringCondition", + "traits": { + "smithy.api#documentation": "

A leaf node condition which can be used to specify a string condition.

\n \n

The currently supported values for FieldName are name,\u2028\u2028\n description, state, type, displayOrder,\u2028\n and resourceID.

\n
" + } + } + }, + "traits": { + "smithy.api#documentation": "

The search criteria to be used to return agent statuses.

" + } + }, + "com.amazonaws.connect#AgentStatusSearchFilter": { + "type": "structure", + "members": { + "AttributeFilter": { + "target": "com.amazonaws.connect#ControlPlaneAttributeFilter", + "traits": { + "smithy.api#documentation": "

An object that can be used to specify Tag conditions inside the SearchFilter.\n This accepts an OR of AND (List of List) input where:

\n " + } + } + }, + "traits": { + "smithy.api#documentation": "

Filters to be applied to search results.

" + } + }, "com.amazonaws.connect#AgentStatusState": { "type": "enum", "members": { @@ -742,7 +794,7 @@ } }, "traits": { - "smithy.api#documentation": "

Can be used to define a list of preferred agents to target the contact within the queue.\n Note that agents must have the queue in their routing profile in order to be offered the\n contact.

" + "smithy.api#documentation": "

Can be used to define a list of preferred agents to target the contact within the queue.\n Note that agents must have the queue in their routing profile in order to be offered the\n contact.

" } }, "com.amazonaws.connect#AgentsMinOneMaxHundred": { @@ -1336,6 +1388,9 @@ { "target": "com.amazonaws.connect#ResumeContactRecording" }, + { + "target": "com.amazonaws.connect#SearchAgentStatuses" + }, { "target": "com.amazonaws.connect#SearchAvailablePhoneNumbers" }, @@ -1372,6 +1427,9 @@ { "target": "com.amazonaws.connect#SearchSecurityProfiles" }, + { + "target": "com.amazonaws.connect#SearchUserHierarchyGroups" + }, { "target": "com.amazonaws.connect#SearchUsers" }, @@ -1589,7 +1647,7 @@ "name": "connect" }, "aws.protocols#restJson1": {}, - "smithy.api#documentation": "\n

Amazon Connect is a cloud-based contact center solution that you use to set up and\n manage a customer contact center and provide reliable customer engagement at any scale.

\n

Amazon Connect provides metrics and real-time reporting that enable you to optimize\n contact routing. You can also resolve customer issues more efficiently by getting customers in\n touch with the appropriate agents.

\n

There are limits to the number of Amazon Connect resources that you can create. There\n are also limits to the number of requests that you can make per second. For more information, see\n Amazon Connect Service Quotas in the Amazon Connect Administrator\n Guide.

\n

You can connect programmatically to an Amazon Web Services service by using an endpoint. For\n a list of Amazon Connect endpoints, see Amazon Connect Endpoints.

", + "smithy.api#documentation": "\n

Amazon Connect is a cloud-based contact center solution that you use to set up and\n manage a customer contact center and provide reliable customer engagement at any scale.

\n

Amazon Connect provides metrics and real-time reporting that enable you to optimize\n contact routing. You can also resolve customer issues more efficiently by getting customers in\n touch with the appropriate agents.

\n

There are limits to the number of Amazon Connect resources that you can create. There\n are also limits to the number of requests that you can make per second. For more information, see\n Amazon Connect Service Quotas in the Amazon Connect Administrator\n Guide.

\n

You can connect programmatically to an Amazon Web Services service by using an endpoint. For\n a list of Amazon Connect endpoints, see Amazon Connect Endpoints.

", "smithy.api#title": "Amazon Connect Service", "smithy.rules#endpointRuleSet": { "version": "1.0", @@ -4013,13 +4071,13 @@ "AllowedIps": { "target": "com.amazonaws.connect#IpCidrList", "traits": { - "smithy.api#documentation": "

A list of IP address range strings that are allowed to access the Amazon Connect\n instance. For more information about how to configure IP addresses, see Configure\n IP address based access control in the Amazon Connect Administrator\n Guide.

" + "smithy.api#documentation": "

A list of IP address range strings that are allowed to access the Amazon Connect\n instance. For more information about how to configure IP addresses, see Configure IP\n address based access control in the Amazon Connect Administrator\n Guide.

" } }, "BlockedIps": { "target": "com.amazonaws.connect#IpCidrList", "traits": { - "smithy.api#documentation": "

A list of IP address range strings that are blocked from accessing the Amazon Connect\n instance. For more information about how to configure IP addresses, see Configure\n IP address based access control in the Amazon Connect Administrator\n Guide.

" + "smithy.api#documentation": "

A list of IP address range strings that are blocked from accessing the Amazon Connect\n instance. For more information about how to configure IP addresses, see Configure IP\n address based access control in the Amazon Connect Administrator\n Guide.

" } }, "IsDefault": { @@ -4061,7 +4119,7 @@ } }, "traits": { - "smithy.api#documentation": "

This API is in preview release for Amazon Connect and is subject to change. To \nrequest access to this API, contact Amazon Web Services Support.

\n

Information about an authentication profile. An authentication profile is a resource that\n stores the authentication settings for users in your contact center. You use authentication\n profiles to set up IP address range restrictions and session timeouts. For more information, see \n Set IP address restrictions or session timeouts. \n

" + "smithy.api#documentation": "

This API is in preview release for Amazon Connect and is subject to change. To \nrequest access to this API, contact Amazon Web Services Support.

\n

Information about an authentication profile. An authentication profile is a resource that\n stores the authentication settings for users in your contact center. You use authentication\n profiles to set up IP address range restrictions and session timeouts. For more information, see\n Set IP\n address restrictions or session timeouts.

" } }, "com.amazonaws.connect#AuthenticationProfileDescription": { @@ -5053,6 +5111,26 @@ } } }, + "com.amazonaws.connect#CommonAttributeAndCondition": { + "type": "structure", + "members": { + "TagConditions": { + "target": "com.amazonaws.connect#TagAndConditionList", + "traits": { + "smithy.api#documentation": "

A leaf node condition which can be used to specify a tag condition.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

A list of conditions which would be applied together with an AND\n condition.

" + } + }, + "com.amazonaws.connect#CommonAttributeOrConditionList": { + "type": "list", + "member": { + "target": "com.amazonaws.connect#CommonAttributeAndCondition" + } + }, "com.amazonaws.connect#CommonNameLength127": { "type": "string", "traits": { @@ -5166,6 +5244,32 @@ } } }, + "com.amazonaws.connect#Condition": { + "type": "structure", + "members": { + "StringCondition": { + "target": "com.amazonaws.connect#StringCondition", + "traits": { + "smithy.api#documentation": "

A leaf node condition which can be used to specify a string condition.

\n \n

The currently supported values for FieldName are name and\u2028\n value.

\n
" + } + }, + "NumberCondition": { + "target": "com.amazonaws.connect#NumberCondition", + "traits": { + "smithy.api#documentation": "

A leaf node condition which can be used to specify a numeric condition.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

A leaf node condition which can be used to specify a ProficiencyName, ProficiencyValue and\n ProficiencyLimit.

" + } + }, + "com.amazonaws.connect#Conditions": { + "type": "list", + "member": { + "target": "com.amazonaws.connect#Condition" + } + }, "com.amazonaws.connect#ConflictException": { "type": "structure", "members": { @@ -6361,6 +6465,29 @@ } } }, + "com.amazonaws.connect#ControlPlaneAttributeFilter": { + "type": "structure", + "members": { + "OrConditions": { + "target": "com.amazonaws.connect#CommonAttributeOrConditionList", + "traits": { + "smithy.api#documentation": "

A list of conditions which would be applied together with an OR\n condition.

" + } + }, + "AndCondition": { + "target": "com.amazonaws.connect#CommonAttributeAndCondition", + "traits": { + "smithy.api#documentation": "

A list of conditions which would be applied together with an AND\n condition.

" + } + }, + "TagCondition": { + "target": "com.amazonaws.connect#TagCondition" + } + }, + "traits": { + "smithy.api#documentation": "

An object that can be used to specify Tag conditions inside the SearchFilter.\n This accepts an OR or AND (List of List) input where:

\n " + } + }, "com.amazonaws.connect#ControlPlaneTagFilter": { "type": "structure", "members": { @@ -16801,7 +16928,7 @@ "Metrics": { "target": "com.amazonaws.connect#MetricsV2", "traits": { - "smithy.api#documentation": "

The metrics to retrieve. Specify the name, groupings, and filters for each metric. The\n following historical metrics are available. For a description of each metric, see Historical metrics definitions in the Amazon Connect Administrator\n Guide.

\n
\n
ABANDONMENT_RATE
\n
\n

Unit: Percent

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature,\n contact/segmentAttributes/connect:Subtype, Q in Connect

\n

UI name: Abandonment rate\n

\n
\n
AGENT_ADHERENT_TIME
\n
\n

This metric is available only in Amazon Web Services Regions where Forecasting, capacity planning, and scheduling is available.

\n

Unit: Seconds

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

\n

UI name: Adherent time\n

\n
\n
AGENT_ANSWER_RATE
\n
\n

Unit: Percent

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

\n

UI name: Agent answer rate\n

\n
\n
AGENT_NON_ADHERENT_TIME
\n
\n

Unit: Seconds

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

\n

UI name: Non-adherent time\n

\n
\n
AGENT_NON_RESPONSE
\n
\n

Unit: Count

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

\n

UI name: Agent\n non-response\n

\n
\n
AGENT_NON_RESPONSE_WITHOUT_CUSTOMER_ABANDONS
\n
\n

Unit: Count

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

\n

Data for this metric is available starting from October 1, 2023 0:00:00 GMT.

\n

UI name: Agent non-response without customer abandons\n

\n
\n
AGENT_OCCUPANCY
\n
\n

Unit: Percentage

\n

Valid groupings and filters: Routing Profile, Agent, Agent Hierarchy

\n

UI name: Occupancy\n

\n
\n
AGENT_SCHEDULE_ADHERENCE
\n
\n

This metric is available only in Amazon Web Services Regions where Forecasting, capacity planning, and scheduling is available.

\n

Unit: Percent

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

\n

UI name: Adherence\n

\n
\n
AGENT_SCHEDULED_TIME
\n
\n

This metric is available only in Amazon Web Services Regions where Forecasting, capacity planning, and scheduling is available.

\n

Unit: Seconds

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

\n

UI name: Scheduled time\n

\n
\n
AVG_ABANDON_TIME
\n
\n

Unit: Seconds

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature,\n contact/segmentAttributes/connect:Subtype, Q in Connect

\n

UI name: Average queue abandon time\n

\n
\n
AVG_ACTIVE_TIME
\n
\n

Unit: Seconds

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Q in Connect

\n

UI name: Average active time\n

\n
\n
AVG_AFTER_CONTACT_WORK_TIME
\n
\n

Unit: Seconds

\n

Valid metric filter key: INITIATION_METHOD\n

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature,\n contact/segmentAttributes/connect:Subtype, Q in Connect

\n

UI name: Average after contact work time\n

\n \n

Feature is a valid filter but not a valid grouping.

\n
\n
\n
AVG_AGENT_CONNECTING_TIME
\n
\n

Unit: Seconds

\n

Valid metric filter key: INITIATION_METHOD. For now, this metric only\n supports the following as INITIATION_METHOD: INBOUND |\n OUTBOUND | CALLBACK | API\n

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

\n

UI name: Average agent API connecting time\n

\n \n

The Negate key in Metric Level Filters is not applicable for this\n metric.

\n
\n
\n
AVG_AGENT_PAUSE_TIME
\n
\n

Unit: Seconds

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Q in Connect

\n

UI name: Average agent pause time\n

\n
\n
AVG_CASE_RELATED_CONTACTS
\n
\n

Unit: Count

\n

Required filter key: CASE_TEMPLATE_ARN

\n

Valid groupings and filters: CASE_TEMPLATE_ARN, CASE_STATUS

\n

UI name: Average contacts per case\n

\n
\n
AVG_CASE_RESOLUTION_TIME
\n
\n

Unit: Seconds

\n

Required filter key: CASE_TEMPLATE_ARN

\n

Valid groupings and filters: CASE_TEMPLATE_ARN, CASE_STATUS

\n

UI name: Average case resolution time\n

\n
\n
AVG_CONTACT_DURATION
\n
\n

Unit: Seconds

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature,\n contact/segmentAttributes/connect:Subtype, Q in Connect

\n

UI name: Average contact duration\n

\n \n

Feature is a valid filter but not a valid grouping.

\n
\n
\n
AVG_CONVERSATION_DURATION
\n
\n

Unit: Seconds

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature,\n contact/segmentAttributes/connect:Subtype, Q in Connect

\n

UI name: Average conversation duration\n

\n
\n
AVG_FLOW_TIME
\n
\n

Unit: Seconds

\n

Valid groupings and filters: Channel, contact/segmentAttributes/connect:Subtype, Flow type, Flows module\n resource ID, Flows next resource ID, Flows next resource queue ID, Flows outcome type, Flows\n resource ID, Initiation method, Resource published timestamp

\n

UI name: Average flow time\n

\n
\n
AVG_GREETING_TIME_AGENT
\n
\n

This metric is available only for contacts analyzed by Contact Lens conversational\n analytics.

\n

Unit: Seconds

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy,\n contact/segmentAttributes/connect:Subtype, Q in Connect

\n

UI name: Average agent greeting time\n

\n
\n
AVG_HANDLE_TIME
\n
\n

Unit: Seconds

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature,\n contact/segmentAttributes/connect:Subtype, RoutingStepExpression

\n

UI name: Average handle time\n

\n \n

Feature is a valid filter but not a valid grouping.

\n
\n
\n
AVG_HOLD_TIME
\n
\n

Unit: Seconds

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature,\n contact/segmentAttributes/connect:Subtype, Q in Connect

\n

UI name: Average customer hold time\n

\n \n

Feature is a valid filter but not a valid grouping.

\n
\n
\n
AVG_HOLD_TIME_ALL_CONTACTS
\n
\n

Unit: Seconds

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy,\n contact/segmentAttributes/connect:Subtype, Q in Connect

\n

UI name: Average customer hold time all contacts\n

\n
\n
AVG_HOLDS
\n
\n

Unit: Count

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature,\n contact/segmentAttributes/connect:Subtype, Q in Connect

\n

UI name: Average holds\n

\n \n

Feature is a valid filter but not a valid grouping.

\n
\n
\n
AVG_INTERACTION_AND_HOLD_TIME
\n
\n

Unit: Seconds

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy,\n contact/segmentAttributes/connect:Subtype, Q in Connect

\n

UI name: Average agent interaction and customer hold time\n

\n
\n
AVG_INTERACTION_TIME
\n
\n

Unit: Seconds

\n

Valid metric filter key: INITIATION_METHOD\n

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Feature,\n contact/segmentAttributes/connect:Subtype, Q in Connect

\n

UI name: Average agent interaction time\n

\n \n

Feature is a valid filter but not a valid grouping.

\n
\n
\n
AVG_INTERRUPTIONS_AGENT
\n
\n

This metric is available only for contacts analyzed by Contact Lens conversational\n analytics.

\n

Unit: Count

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy,\n contact/segmentAttributes/connect:Subtype, Q in Connect

\n

UI name: Average agent interruptions\n

\n
\n
AVG_INTERRUPTION_TIME_AGENT
\n
\n

This metric is available only for contacts analyzed by Contact Lens conversational\n analytics.

\n

Unit: Seconds

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy,\n contact/segmentAttributes/connect:Subtype, Q in Connect

\n

UI name: Average agent interruption time\n

\n
\n
AVG_NON_TALK_TIME
\n
\n

This metric is available only for contacts analyzed by Contact Lens conversational\n analytics.

\n

Unit: Seconds

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy,\n contact/segmentAttributes/connect:Subtype, Q in Connect

\n

UI name: Average non-talk time\n

\n
\n
AVG_QUEUE_ANSWER_TIME
\n
\n

Unit: Seconds

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Feature,\n contact/segmentAttributes/connect:Subtype, Q in Connect

\n

UI name: Average queue answer time\n

\n \n

Feature is a valid filter but not a valid grouping.

\n
\n
\n
AVG_RESOLUTION_TIME
\n
\n

Unit: Seconds

\n

Valid groupings and filters: Queue, Channel, Routing Profile, contact/segmentAttributes/connect:Subtype,\n Q in Connect

\n

UI name: Average resolution time\n

\n
\n
AVG_TALK_TIME
\n
\n

This metric is available only for contacts analyzed by Contact Lens conversational\n analytics.

\n

Unit: Seconds

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy,\n contact/segmentAttributes/connect:Subtype, Q in Connect

\n

UI name: Average talk time\n

\n
\n
AVG_TALK_TIME_AGENT
\n
\n

This metric is available only for contacts analyzed by Contact Lens conversational\n analytics.

\n

Unit: Seconds

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy,\n contact/segmentAttributes/connect:Subtype, Q in Connect

\n

UI name: Average agent talk time\n

\n
\n
AVG_TALK_TIME_CUSTOMER
\n
\n

This metric is available only for contacts analyzed by Contact Lens conversational\n analytics.

\n

Unit: Seconds

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy,\n contact/segmentAttributes/connect:Subtype, Q in Connect

\n

UI name: Average customer talk time\n

\n
\n
CASES_CREATED
\n
\n

Unit: Count

\n

Required filter key: CASE_TEMPLATE_ARN

\n

Valid groupings and filters: CASE_TEMPLATE_ARN, CASE_STATUS

\n

UI name: Cases created\n

\n
\n
CONTACTS_CREATED
\n
\n

Unit: Count

\n

Valid metric filter key: INITIATION_METHOD\n

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Feature,\n contact/segmentAttributes/connect:Subtype, Q in Connect

\n

UI name: Contacts created\n

\n \n

Feature is a valid filter but not a valid grouping.

\n
\n
\n
CONTACTS_HANDLED
\n
\n

Unit: Count

\n

Valid metric filter key: INITIATION_METHOD,\n DISCONNECT_REASON\n

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature,\n contact/segmentAttributes/connect:Subtype, RoutingStepExpression, Q in Connect

\n

UI name: API contacts handled\n

\n \n

Feature is a valid filter but not a valid grouping.

\n
\n
\n
CONTACTS_HANDLED_BY_CONNECTED_TO_AGENT
\n
\n

Unit: Count

\n

Valid metric filter key: INITIATION_METHOD\n

\n

Valid groupings and filters: Queue, Channel, Agent, Agent Hierarchy,\n contact/segmentAttributes/connect:Subtype, Q in Connect

\n

UI name: Contacts handled (connected to agent timestamp)\n

\n
\n
CONTACTS_HOLD_ABANDONS
\n
\n

Unit: Count

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy,\n contact/segmentAttributes/connect:Subtype, Q in Connect

\n

UI name: Contacts hold disconnect\n

\n
\n
CONTACTS_ON_HOLD_AGENT_DISCONNECT
\n
\n

Unit: Count

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Q in Connect

\n

UI name: Contacts hold agent disconnect\n

\n
\n
CONTACTS_ON_HOLD_CUSTOMER_DISCONNECT
\n
\n

Unit: Count

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Q in Connect

\n

UI name: Contacts hold customer disconnect\n

\n
\n
CONTACTS_PUT_ON_HOLD
\n
\n

Unit: Count

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Q in Connect

\n

UI name: Contacts put on hold\n

\n
\n
CONTACTS_TRANSFERRED_OUT_EXTERNAL
\n
\n

Unit: Count

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Q in Connect

\n

UI name: Contacts transferred out external\n

\n
\n
CONTACTS_TRANSFERRED_OUT_INTERNAL
\n
\n

Unit: Percent

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Q in Connect

\n

UI name: Contacts transferred out internal\n

\n
\n
CONTACTS_QUEUED
\n
\n

Unit: Count

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy,\n contact/segmentAttributes/connect:Subtype, Q in Connect

\n

UI name: Contacts queued\n

\n
\n
CONTACTS_QUEUED_BY_ENQUEUE
\n
\n

Unit: Count

\n

Valid groupings and filters: Queue, Channel, Agent, Agent Hierarchy,\n contact/segmentAttributes/connect:Subtype

\n

UI name: Contacts queued (enqueue timestamp)\n

\n
\n
CONTACTS_REMOVED_FROM_QUEUE_IN_X
\n
\n

Unit: Count

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Q in Connect

\n

Threshold: For ThresholdValue, enter any whole number from 1 to 604800\n (inclusive), in seconds. For Comparison, you must enter LT (for\n \"Less than\").

\n

UI name: This metric is not available in Amazon Connect admin website.

\n
\n
CONTACTS_RESOLVED_IN_X
\n
\n

Unit: Count

\n

Valid groupings and filters: Queue, Channel, Routing Profile, contact/segmentAttributes/connect:Subtype,\n Q in Connect

\n

Threshold: For ThresholdValue enter any whole number from 1 to 604800\n (inclusive), in seconds. For Comparison, you must enter LT (for\n \"Less than\").

\n

UI name: Contacts resolved in X\n

\n
\n
CONTACTS_TRANSFERRED_OUT
\n
\n

Unit: Count

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature,\n contact/segmentAttributes/connect:Subtype, Q in Connect

\n

UI name: Contacts transferred out\n

\n \n

Feature is a valid filter but not a valid grouping.

\n
\n
\n
CONTACTS_TRANSFERRED_OUT_BY_AGENT
\n
\n

Unit: Count

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy,\n contact/segmentAttributes/connect:Subtype, Q in Connect

\n

UI name: Contacts transferred out by agent\n

\n
\n
CONTACTS_TRANSFERRED_OUT_FROM_QUEUE
\n
\n

Unit: Count

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy,\n contact/segmentAttributes/connect:Subtype, Q in Connect

\n

UI name: Contacts transferred out queue\n

\n
\n
CURRENT_CASES
\n
\n

Unit: Count

\n

Required filter key: CASE_TEMPLATE_ARN

\n

Valid groupings and filters: CASE_TEMPLATE_ARN, CASE_STATUS

\n

UI name: Current cases\n

\n
\n
FLOWS_OUTCOME
\n
\n

Unit: Count

\n

Valid groupings and filters: Channel, contact/segmentAttributes/connect:Subtype, Flow type, Flows module\n resource ID, Flows next resource ID, Flows next resource queue ID, Flows outcome type, Flows\n resource ID, Initiation method, Resource published timestamp

\n

UI name: Flows outcome\n

\n
\n
FLOWS_STARTED
\n
\n

Unit: Count

\n

Valid groupings and filters: Channel, contact/segmentAttributes/connect:Subtype, Flow type, Flows module\n resource ID, Flows resource ID, Initiation method, Resource published timestamp

\n

UI name: Flows started\n

\n
\n
MAX_FLOW_TIME
\n
\n

Unit: Seconds

\n

Valid groupings and filters: Channel, contact/segmentAttributes/connect:Subtype, Flow type, Flows module\n resource ID, Flows next resource ID, Flows next resource queue ID, Flows outcome type, Flows\n resource ID, Initiation method, Resource published timestamp

\n

UI name: Maximum flow time\n

\n
\n
MAX_QUEUED_TIME
\n
\n

Unit: Seconds

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy,\n contact/segmentAttributes/connect:Subtype, Q in Connect

\n

UI name: Maximum queued time\n

\n
\n
MIN_FLOW_TIME
\n
\n

Unit: Seconds

\n

Valid groupings and filters: Channel, contact/segmentAttributes/connect:Subtype, Flow type, Flows module\n resource ID, Flows next resource ID, Flows next resource queue ID, Flows outcome type, Flows\n resource ID, Initiation method, Resource published timestamp

\n

UI name: Minimum flow time\n

\n
\n
PERCENT_CASES_FIRST_CONTACT_RESOLVED
\n
\n

Unit: Percent

\n

Required filter key: CASE_TEMPLATE_ARN

\n

Valid groupings and filters: CASE_TEMPLATE_ARN, CASE_STATUS

\n

UI name: Cases resolved on first contact\n

\n
\n
PERCENT_CONTACTS_STEP_EXPIRED
\n
\n

Unit: Percent

\n

Valid groupings and filters: Queue, RoutingStepExpression

\n

UI name: This metric is available in Real-time Metrics UI but not on the Historical\n Metrics UI.

\n
\n
PERCENT_CONTACTS_STEP_JOINED
\n
\n

Unit: Percent

\n

Valid groupings and filters: Queue, RoutingStepExpression

\n

UI name: This metric is available in Real-time Metrics UI but not on the Historical\n Metrics UI.

\n
\n
PERCENT_FLOWS_OUTCOME
\n
\n

Unit: Percent

\n

Valid metric filter key: FLOWS_OUTCOME_TYPE\n

\n

Valid groupings and filters: Channel, contact/segmentAttributes/connect:Subtype, Flow type, Flows module\n resource ID, Flows next resource ID, Flows next resource queue ID, Flows outcome type, Flows\n resource ID, Initiation method, Resource published timestamp

\n

UI name: Flows outcome percentage.

\n \n

The FLOWS_OUTCOME_TYPE is not a valid grouping.

\n
\n
\n
PERCENT_NON_TALK_TIME
\n
\n

This metric is available only for contacts analyzed by Contact Lens conversational\n analytics.

\n

Unit: Percentage

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy,\n contact/segmentAttributes/connect:Subtype, Q in Connect

\n

UI name: Non-talk\n time percent\n

\n
\n
PERCENT_TALK_TIME
\n
\n

This metric is available only for contacts analyzed by Contact Lens conversational\n analytics.

\n

Unit: Percentage

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy,\n contact/segmentAttributes/connect:Subtype, Q in Connect

\n

UI name: Talk time\n percent\n

\n
\n
PERCENT_TALK_TIME_AGENT
\n
\n

This metric is available only for contacts analyzed by Contact Lens conversational\n analytics.

\n

Unit: Percentage

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy,\n contact/segmentAttributes/connect:Subtype, Q in Connect

\n

UI name: Agent\n talk time percent\n

\n
\n
PERCENT_TALK_TIME_CUSTOMER
\n
\n

This metric is available only for contacts analyzed by Contact Lens conversational\n analytics.

\n

Unit: Percentage

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy,\n contact/segmentAttributes/connect:Subtype, Q in Connect

\n

UI name: Customer talk time percent\n

\n
\n
REOPENED_CASE_ACTIONS
\n
\n

Unit: Count

\n

Required filter key: CASE_TEMPLATE_ARN

\n

Valid groupings and filters: CASE_TEMPLATE_ARN, CASE_STATUS

\n

UI name: Cases reopened\n

\n
\n
RESOLVED_CASE_ACTIONS
\n
\n

Unit: Count

\n

Required filter key: CASE_TEMPLATE_ARN

\n

Valid groupings and filters: CASE_TEMPLATE_ARN, CASE_STATUS

\n

UI name: Cases resolved\n

\n
\n
SERVICE_LEVEL
\n
\n

You can include up to 20 SERVICE_LEVEL metrics in a request.

\n

Unit: Percent

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Q in Connect

\n

Threshold: For ThresholdValue, enter any whole number from 1 to 604800\n (inclusive), in seconds. For Comparison, you must enter LT (for\n \"Less than\").

\n

UI name: Service level X\n

\n
\n
STEP_CONTACTS_QUEUED
\n
\n

Unit: Count

\n

Valid groupings and filters: Queue, RoutingStepExpression

\n

UI name: This metric is available in Real-time Metrics UI but not on the Historical\n Metrics UI.

\n
\n
SUM_AFTER_CONTACT_WORK_TIME
\n
\n

Unit: Seconds

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Q in Connect

\n

UI name: After\n contact work time\n

\n
\n
SUM_CONNECTING_TIME_AGENT
\n
\n

Unit: Seconds

\n

Valid metric filter key: INITIATION_METHOD. This metric only supports the\n following filter keys as INITIATION_METHOD: INBOUND |\n OUTBOUND | CALLBACK | API\n

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

\n

UI name: Agent API connecting time\n

\n \n

The Negate key in Metric Level Filters is not applicable for this\n metric.

\n
\n
\n
SUM_CONTACTS_ABANDONED
\n
\n

Unit: Count

\n

Metric filter:

\n
    \n
  • \n

    Valid values: API| Incoming | Outbound |\n Transfer | Callback | Queue_Transfer|\n Disconnect\n

    \n
  • \n
\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy,\n contact/segmentAttributes/connect:Subtype, RoutingStepExpression, Q in Connect

\n

UI name: Contact abandoned\n

\n
\n
SUM_CONTACTS_ABANDONED_IN_X
\n
\n

Unit: Count

\n

Valid groupings and filters: Queue, Channel, Routing Profile, contact/segmentAttributes/connect:Subtype,\n Q in Connect

\n

Threshold: For ThresholdValue, enter any whole number from 1 to 604800\n (inclusive), in seconds. For Comparison, you must enter LT (for\n \"Less than\").

\n

UI name: Contacts abandoned in X seconds\n

\n
\n
SUM_CONTACTS_ANSWERED_IN_X
\n
\n

Unit: Count

\n

Valid groupings and filters: Queue, Channel, Routing Profile, contact/segmentAttributes/connect:Subtype,\n Q in Connect

\n

Threshold: For ThresholdValue, enter any whole number from 1 to 604800\n (inclusive), in seconds. For Comparison, you must enter LT (for\n \"Less than\").

\n

UI name: Contacts answered in X seconds\n

\n
\n
SUM_CONTACT_FLOW_TIME
\n
\n

Unit: Seconds

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Q in Connect

\n

UI name: Contact flow time\n

\n
\n
SUM_CONTACT_TIME_AGENT
\n
\n

Unit: Seconds

\n

Valid groupings and filters: Routing Profile, Agent, Agent Hierarchy

\n

UI name: Agent on contact time\n

\n
\n
SUM_CONTACTS_DISCONNECTED
\n
\n

Valid metric filter key: DISCONNECT_REASON\n

\n

Unit: Count

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy,\n contact/segmentAttributes/connect:Subtype, Q in Connect

\n

UI name: Contact disconnected\n

\n
\n
SUM_ERROR_STATUS_TIME_AGENT
\n
\n

Unit: Seconds

\n

Valid groupings and filters: Routing Profile, Agent, Agent Hierarchy

\n

UI name: Error status time\n

\n
\n
SUM_HANDLE_TIME
\n
\n

Unit: Seconds

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Q in Connect

\n

UI name: Contact handle time\n

\n
\n
SUM_HOLD_TIME
\n
\n

Unit: Count

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Q in Connect

\n

UI name: Customer hold time\n

\n
\n
SUM_IDLE_TIME_AGENT
\n
\n

Unit: Seconds

\n

Valid groupings and filters: Routing Profile, Agent, Agent Hierarchy

\n

UI name: Agent idle time\n

\n
\n
SUM_INTERACTION_AND_HOLD_TIME
\n
\n

Unit: Seconds

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Q in Connect

\n

UI name: Agent interaction and hold time\n

\n
\n
SUM_INTERACTION_TIME
\n
\n

Unit: Seconds

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

\n

UI name: Agent interaction time\n

\n
\n
SUM_NON_PRODUCTIVE_TIME_AGENT
\n
\n

Unit: Seconds

\n

Valid groupings and filters: Routing Profile, Agent, Agent Hierarchy

\n

UI name: Non-Productive Time\n

\n
\n
SUM_ONLINE_TIME_AGENT
\n
\n

Unit: Seconds

\n

Valid groupings and filters: Routing Profile, Agent, Agent Hierarchy

\n

UI name: Online time\n

\n
\n
SUM_RETRY_CALLBACK_ATTEMPTS
\n
\n

Unit: Count

\n

Valid groupings and filters: Queue, Channel, Routing Profile, contact/segmentAttributes/connect:Subtype,\n Q in Connect

\n

UI name: Callback attempts\n

\n
\n
", + "smithy.api#documentation": "

The metrics to retrieve. Specify the name, groupings, and filters for each metric. The\n following historical metrics are available. For a description of each metric, see Historical metrics definitions in the Amazon Connect Administrator\n Guide.

\n
\n
ABANDONMENT_RATE
\n
\n

Unit: Percent

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature,\n contact/segmentAttributes/connect:Subtype, Q in Connect

\n

UI name: Abandonment rate\n

\n
\n
AGENT_ADHERENT_TIME
\n
\n

This metric is available only in Amazon Web Services Regions where Forecasting, capacity planning, and scheduling is available.

\n

Unit: Seconds

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

\n

UI name: Adherent time\n

\n
\n
AGENT_ANSWER_RATE
\n
\n

Unit: Percent

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

\n

UI name: Agent answer rate\n

\n
\n
AGENT_NON_ADHERENT_TIME
\n
\n

Unit: Seconds

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

\n

UI name: Non-adherent time\n

\n
\n
AGENT_NON_RESPONSE
\n
\n

Unit: Count

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

\n

UI name: Agent\n non-response\n

\n
\n
AGENT_NON_RESPONSE_WITHOUT_CUSTOMER_ABANDONS
\n
\n

Unit: Count

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

\n

Data for this metric is available starting from October 1, 2023 0:00:00 GMT.

\n

UI name: Agent non-response without customer abandons\n

\n
\n
AGENT_OCCUPANCY
\n
\n

Unit: Percentage

\n

Valid groupings and filters: Routing Profile, Agent, Agent Hierarchy

\n

UI name: Occupancy\n

\n
\n
AGENT_SCHEDULE_ADHERENCE
\n
\n

This metric is available only in Amazon Web Services Regions where Forecasting, capacity planning, and scheduling is available.

\n

Unit: Percent

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

\n

UI name: Adherence\n

\n
\n
AGENT_SCHEDULED_TIME
\n
\n

This metric is available only in Amazon Web Services Regions where Forecasting, capacity planning, and scheduling is available.

\n

Unit: Seconds

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

\n

UI name: Scheduled time\n

\n
\n
AVG_ABANDON_TIME
\n
\n

Unit: Seconds

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature,\n contact/segmentAttributes/connect:Subtype, Q in Connect

\n

UI name: Average queue abandon time\n

\n
\n
AVG_ACTIVE_TIME
\n
\n

Unit: Seconds

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Q in Connect

\n

UI name: Average active time\n

\n
\n
AVG_AFTER_CONTACT_WORK_TIME
\n
\n

Unit: Seconds

\n

Valid metric filter key: INITIATION_METHOD\n

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature,\n contact/segmentAttributes/connect:Subtype, Q in Connect

\n

UI name: Average after contact work time\n

\n \n

Feature is a valid filter but not a valid grouping.

\n
\n
\n
AVG_AGENT_CONNECTING_TIME
\n
\n

Unit: Seconds

\n

Valid metric filter key: INITIATION_METHOD. For now, this metric only\n supports the following as INITIATION_METHOD: INBOUND |\n OUTBOUND | CALLBACK | API\n

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

\n

UI name: Average agent API connecting time\n

\n \n

The Negate key in Metric Level Filters is not applicable for this\n metric.

\n
\n
\n
AVG_AGENT_PAUSE_TIME
\n
\n

Unit: Seconds

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Q in Connect

\n

UI name: Average agent pause time\n

\n
\n
AVG_CASE_RELATED_CONTACTS
\n
\n

Unit: Count

\n

Required filter key: CASE_TEMPLATE_ARN

\n

Valid groupings and filters: CASE_TEMPLATE_ARN, CASE_STATUS

\n

UI name: Average contacts per case\n

\n
\n
AVG_CASE_RESOLUTION_TIME
\n
\n

Unit: Seconds

\n

Required filter key: CASE_TEMPLATE_ARN

\n

Valid groupings and filters: CASE_TEMPLATE_ARN, CASE_STATUS

\n

UI name: Average case resolution time\n

\n
\n
AVG_CONTACT_DURATION
\n
\n

Unit: Seconds

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature,\n contact/segmentAttributes/connect:Subtype, Q in Connect

\n

UI name: Average contact duration\n

\n \n

Feature is a valid filter but not a valid grouping.

\n
\n
\n
AVG_CONVERSATION_DURATION
\n
\n

Unit: Seconds

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature,\n contact/segmentAttributes/connect:Subtype, Q in Connect

\n

UI name: Average conversation duration\n

\n
\n
AVG_FLOW_TIME
\n
\n

Unit: Seconds

\n

Valid groupings and filters: Channel, contact/segmentAttributes/connect:Subtype, Flow type, Flows module\n resource ID, Flows next resource ID, Flows next resource queue ID, Flows outcome type, Flows\n resource ID, Initiation method, Resource published timestamp

\n

UI name: Average flow time\n

\n
\n
AVG_GREETING_TIME_AGENT
\n
\n

This metric is available only for contacts analyzed by Contact Lens conversational\n analytics.

\n

Unit: Seconds

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy,\n contact/segmentAttributes/connect:Subtype, Q in Connect

\n

UI name: Average agent greeting time\n

\n
\n
AVG_HANDLE_TIME
\n
\n

Unit: Seconds

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature,\n contact/segmentAttributes/connect:Subtype, RoutingStepExpression

\n

UI name: Average handle time\n

\n \n

Feature is a valid filter but not a valid grouping.

\n
\n
\n
AVG_HOLD_TIME
\n
\n

Unit: Seconds

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature,\n contact/segmentAttributes/connect:Subtype, Q in Connect

\n

UI name: Average customer hold time\n

\n \n

Feature is a valid filter but not a valid grouping.

\n
\n
\n
AVG_HOLD_TIME_ALL_CONTACTS
\n
\n

Unit: Seconds

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy,\n contact/segmentAttributes/connect:Subtype, Q in Connect

\n

UI name: Average customer hold time all contacts\n

\n
\n
AVG_HOLDS
\n
\n

Unit: Count

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature,\n contact/segmentAttributes/connect:Subtype, Q in Connect

\n

UI name: Average holds\n

\n \n

Feature is a valid filter but not a valid grouping.

\n
\n
\n
AVG_INTERACTION_AND_HOLD_TIME
\n
\n

Unit: Seconds

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy,\n contact/segmentAttributes/connect:Subtype, Q in Connect

\n

UI name: Average agent interaction and customer hold time\n

\n
\n
AVG_INTERACTION_TIME
\n
\n

Unit: Seconds

\n

Valid metric filter key: INITIATION_METHOD\n

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Feature,\n contact/segmentAttributes/connect:Subtype, Q in Connect

\n

UI name: Average agent interaction time\n

\n \n

Feature is a valid filter but not a valid grouping.

\n
\n
\n
AVG_INTERRUPTIONS_AGENT
\n
\n

This metric is available only for contacts analyzed by Contact Lens conversational\n analytics.

\n

Unit: Count

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy,\n contact/segmentAttributes/connect:Subtype, Q in Connect

\n

UI name: Average agent interruptions\n

\n
\n
AVG_INTERRUPTION_TIME_AGENT
\n
\n

This metric is available only for contacts analyzed by Contact Lens conversational\n analytics.

\n

Unit: Seconds

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy,\n contact/segmentAttributes/connect:Subtype, Q in Connect

\n

UI name: Average agent interruption time\n

\n
\n
AVG_NON_TALK_TIME
\n
\n

This metric is available only for contacts analyzed by Contact Lens conversational\n analytics.

\n

Unit: Seconds

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy,\n contact/segmentAttributes/connect:Subtype, Q in Connect

\n

UI name: Average non-talk time\n

\n
\n
AVG_QUEUE_ANSWER_TIME
\n
\n

Unit: Seconds

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Feature,\n contact/segmentAttributes/connect:Subtype, Q in Connect

\n

UI name: Average queue answer time\n

\n \n

Feature is a valid filter but not a valid grouping.

\n
\n
\n
AVG_RESOLUTION_TIME
\n
\n

Unit: Seconds

\n

Valid groupings and filters: Queue, Channel, Routing Profile, contact/segmentAttributes/connect:Subtype,\n Q in Connect

\n

UI name: Average resolution time\n

\n
\n
AVG_TALK_TIME
\n
\n

This metric is available only for contacts analyzed by Contact Lens conversational\n analytics.

\n

Unit: Seconds

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy,\n contact/segmentAttributes/connect:Subtype, Q in Connect

\n

UI name: Average talk time\n

\n
\n
AVG_TALK_TIME_AGENT
\n
\n

This metric is available only for contacts analyzed by Contact Lens conversational\n analytics.

\n

Unit: Seconds

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy,\n contact/segmentAttributes/connect:Subtype, Q in Connect

\n

UI name: Average agent talk time\n

\n
\n
AVG_TALK_TIME_CUSTOMER
\n
\n

This metric is available only for contacts analyzed by Contact Lens conversational\n analytics.

\n

Unit: Seconds

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy,\n contact/segmentAttributes/connect:Subtype, Q in Connect

\n

UI name: Average customer talk time\n

\n
\n
CASES_CREATED
\n
\n

Unit: Count

\n

Required filter key: CASE_TEMPLATE_ARN

\n

Valid groupings and filters: CASE_TEMPLATE_ARN, CASE_STATUS

\n

UI name: Cases created\n

\n
\n
CONTACTS_CREATED
\n
\n

Unit: Count

\n

Valid metric filter key: INITIATION_METHOD\n

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Feature,\n contact/segmentAttributes/connect:Subtype, Q in Connect

\n

UI name: Contacts created\n

\n \n

Feature is a valid filter but not a valid grouping.

\n
\n
\n
CONTACTS_HANDLED
\n
\n

Unit: Count

\n

Valid metric filter key: INITIATION_METHOD,\n DISCONNECT_REASON\n

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature,\n contact/segmentAttributes/connect:Subtype, RoutingStepExpression, Q in Connect

\n

UI name: API contacts handled\n

\n \n

Feature is a valid filter but not a valid grouping.

\n
\n
\n
CONTACTS_HANDLED_BY_CONNECTED_TO_AGENT
\n
\n

Unit: Count

\n

Valid metric filter key: INITIATION_METHOD\n

\n

Valid groupings and filters: Queue, Channel, Agent, Agent Hierarchy,\n contact/segmentAttributes/connect:Subtype, Q in Connect

\n

UI name: Contacts handled (connected to agent timestamp)\n

\n
\n
CONTACTS_HOLD_ABANDONS
\n
\n

Unit: Count

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy,\n contact/segmentAttributes/connect:Subtype, Q in Connect

\n

UI name: Contacts hold disconnect\n

\n
\n
CONTACTS_ON_HOLD_AGENT_DISCONNECT
\n
\n

Unit: Count

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Q in Connect

\n

UI name: Contacts hold agent disconnect\n

\n
\n
CONTACTS_ON_HOLD_CUSTOMER_DISCONNECT
\n
\n

Unit: Count

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Q in Connect

\n

UI name: Contacts hold customer disconnect\n

\n
\n
CONTACTS_PUT_ON_HOLD
\n
\n

Unit: Count

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Q in Connect

\n

UI name: Contacts put on hold\n

\n
\n
CONTACTS_TRANSFERRED_OUT_EXTERNAL
\n
\n

Unit: Count

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Q in Connect

\n

UI name: Contacts transferred out external\n

\n
\n
CONTACTS_TRANSFERRED_OUT_INTERNAL
\n
\n

Unit: Percent

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Q in Connect

\n

UI name: Contacts transferred out internal\n

\n
\n
CONTACTS_QUEUED
\n
\n

Unit: Count

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy,\n contact/segmentAttributes/connect:Subtype, Q in Connect

\n

UI name: Contacts queued\n

\n
\n
CONTACTS_QUEUED_BY_ENQUEUE
\n
\n

Unit: Count

\n

Valid groupings and filters: Queue, Channel, Agent, Agent Hierarchy,\n contact/segmentAttributes/connect:Subtype

\n

UI name: Contacts queued (enqueue timestamp)\n

\n
\n
CONTACTS_REMOVED_FROM_QUEUE_IN_X
\n
\n

Unit: Count

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Q in Connect

\n

Threshold: For ThresholdValue, enter any whole number from 1 to 604800\n (inclusive), in seconds. For Comparison, you must enter LT (for\n \"Less than\").

\n

UI name: Contacts removed from queue in X seconds\n

\n
\n
CONTACTS_RESOLVED_IN_X
\n
\n

Unit: Count

\n

Valid groupings and filters: Queue, Channel, Routing Profile, contact/segmentAttributes/connect:Subtype,\n Q in Connect

\n

Threshold: For ThresholdValue enter any whole number from 1 to 604800\n (inclusive), in seconds. For Comparison, you must enter LT (for\n \"Less than\").

\n

UI name: Contacts resolved in X\n

\n
\n
CONTACTS_TRANSFERRED_OUT
\n
\n

Unit: Count

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature,\n contact/segmentAttributes/connect:Subtype, Q in Connect

\n

UI name: Contacts transferred out\n

\n \n

Feature is a valid filter but not a valid grouping.

\n
\n
\n
CONTACTS_TRANSFERRED_OUT_BY_AGENT
\n
\n

Unit: Count

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy,\n contact/segmentAttributes/connect:Subtype, Q in Connect

\n

UI name: Contacts transferred out by agent\n

\n
\n
CONTACTS_TRANSFERRED_OUT_FROM_QUEUE
\n
\n

Unit: Count

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy,\n contact/segmentAttributes/connect:Subtype, Q in Connect

\n

UI name: Contacts transferred out queue\n

\n
\n
CURRENT_CASES
\n
\n

Unit: Count

\n

Required filter key: CASE_TEMPLATE_ARN

\n

Valid groupings and filters: CASE_TEMPLATE_ARN, CASE_STATUS

\n

UI name: Current cases\n

\n
\n
FLOWS_OUTCOME
\n
\n

Unit: Count

\n

Valid groupings and filters: Channel, contact/segmentAttributes/connect:Subtype, Flow type, Flows module\n resource ID, Flows next resource ID, Flows next resource queue ID, Flows outcome type, Flows\n resource ID, Initiation method, Resource published timestamp

\n

UI name: Flows outcome\n

\n
\n
FLOWS_STARTED
\n
\n

Unit: Count

\n

Valid groupings and filters: Channel, contact/segmentAttributes/connect:Subtype, Flow type, Flows module\n resource ID, Flows resource ID, Initiation method, Resource published timestamp

\n

UI name: Flows started\n

\n
\n
MAX_FLOW_TIME
\n
\n

Unit: Seconds

\n

Valid groupings and filters: Channel, contact/segmentAttributes/connect:Subtype, Flow type, Flows module\n resource ID, Flows next resource ID, Flows next resource queue ID, Flows outcome type, Flows\n resource ID, Initiation method, Resource published timestamp

\n

UI name: Maximum flow time\n

\n
\n
MAX_QUEUED_TIME
\n
\n

Unit: Seconds

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy,\n contact/segmentAttributes/connect:Subtype, Q in Connect

\n

UI name: Maximum queued time\n

\n
\n
MIN_FLOW_TIME
\n
\n

Unit: Seconds

\n

Valid groupings and filters: Channel, contact/segmentAttributes/connect:Subtype, Flow type, Flows module\n resource ID, Flows next resource ID, Flows next resource queue ID, Flows outcome type, Flows\n resource ID, Initiation method, Resource published timestamp

\n

UI name: Minimum flow time\n

\n
\n
PERCENT_CASES_FIRST_CONTACT_RESOLVED
\n
\n

Unit: Percent

\n

Required filter key: CASE_TEMPLATE_ARN

\n

Valid groupings and filters: CASE_TEMPLATE_ARN, CASE_STATUS

\n

UI name: Cases resolved on first contact\n

\n
\n
PERCENT_CONTACTS_STEP_EXPIRED
\n
\n

Unit: Percent

\n

Valid groupings and filters: Queue, RoutingStepExpression

\n

UI name: This metric is available in Real-time Metrics UI but not on the Historical\n Metrics UI.

\n
\n
PERCENT_CONTACTS_STEP_JOINED
\n
\n

Unit: Percent

\n

Valid groupings and filters: Queue, RoutingStepExpression

\n

UI name: This metric is available in Real-time Metrics UI but not on the Historical\n Metrics UI.

\n
\n
PERCENT_FLOWS_OUTCOME
\n
\n

Unit: Percent

\n

Valid metric filter key: FLOWS_OUTCOME_TYPE\n

\n

Valid groupings and filters: Channel, contact/segmentAttributes/connect:Subtype, Flow type, Flows module\n resource ID, Flows next resource ID, Flows next resource queue ID, Flows outcome type, Flows\n resource ID, Initiation method, Resource published timestamp

\n

UI name: Flows outcome percentage.

\n \n

The FLOWS_OUTCOME_TYPE is not a valid grouping.

\n
\n
\n
PERCENT_NON_TALK_TIME
\n
\n

This metric is available only for contacts analyzed by Contact Lens conversational\n analytics.

\n

Unit: Percentage

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy,\n contact/segmentAttributes/connect:Subtype, Q in Connect

\n

UI name: Non-talk\n time percent\n

\n
\n
PERCENT_TALK_TIME
\n
\n

This metric is available only for contacts analyzed by Contact Lens conversational\n analytics.

\n

Unit: Percentage

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy,\n contact/segmentAttributes/connect:Subtype, Q in Connect

\n

UI name: Talk time\n percent\n

\n
\n
PERCENT_TALK_TIME_AGENT
\n
\n

This metric is available only for contacts analyzed by Contact Lens conversational\n analytics.

\n

Unit: Percentage

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy,\n contact/segmentAttributes/connect:Subtype, Q in Connect

\n

UI name: Agent\n talk time percent\n

\n
\n
PERCENT_TALK_TIME_CUSTOMER
\n
\n

This metric is available only for contacts analyzed by Contact Lens conversational\n analytics.

\n

Unit: Percentage

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy,\n contact/segmentAttributes/connect:Subtype, Q in Connect

\n

UI name: Customer talk time percent\n

\n
\n
REOPENED_CASE_ACTIONS
\n
\n

Unit: Count

\n

Required filter key: CASE_TEMPLATE_ARN

\n

Valid groupings and filters: CASE_TEMPLATE_ARN, CASE_STATUS

\n

UI name: Cases reopened\n

\n
\n
RESOLVED_CASE_ACTIONS
\n
\n

Unit: Count

\n

Required filter key: CASE_TEMPLATE_ARN

\n

Valid groupings and filters: CASE_TEMPLATE_ARN, CASE_STATUS

\n

UI name: Cases resolved\n

\n
\n
SERVICE_LEVEL
\n
\n

You can include up to 20 SERVICE_LEVEL metrics in a request.

\n

Unit: Percent

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Q in Connect

\n

Threshold: For ThresholdValue, enter any whole number from 1 to 604800\n (inclusive), in seconds. For Comparison, you must enter LT (for\n \"Less than\").

\n

UI name: Service level X\n

\n
\n
STEP_CONTACTS_QUEUED
\n
\n

Unit: Count

\n

Valid groupings and filters: Queue, RoutingStepExpression

\n

UI name: This metric is available in Real-time Metrics UI but not on the Historical\n Metrics UI.

\n
\n
SUM_AFTER_CONTACT_WORK_TIME
\n
\n

Unit: Seconds

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Q in Connect

\n

UI name: After\n contact work time\n

\n
\n
SUM_CONNECTING_TIME_AGENT
\n
\n

Unit: Seconds

\n

Valid metric filter key: INITIATION_METHOD. This metric only supports the\n following filter keys as INITIATION_METHOD: INBOUND |\n OUTBOUND | CALLBACK | API\n

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

\n

UI name: Agent API connecting time\n

\n \n

The Negate key in Metric Level Filters is not applicable for this\n metric.

\n
\n
\n
SUM_CONTACTS_ABANDONED
\n
\n

Unit: Count

\n

Metric filter:

\n
    \n
  • \n

    Valid values: API| Incoming | Outbound |\n Transfer | Callback | Queue_Transfer|\n Disconnect\n

    \n
  • \n
\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy,\n contact/segmentAttributes/connect:Subtype, RoutingStepExpression, Q in Connect

\n

UI name: Contact abandoned\n

\n
\n
SUM_CONTACTS_ABANDONED_IN_X
\n
\n

Unit: Count

\n

Valid groupings and filters: Queue, Channel, Routing Profile, contact/segmentAttributes/connect:Subtype,\n Q in Connect

\n

Threshold: For ThresholdValue, enter any whole number from 1 to 604800\n (inclusive), in seconds. For Comparison, you must enter LT (for\n \"Less than\").

\n

UI name: Contacts abandoned in X seconds\n

\n
\n
SUM_CONTACTS_ANSWERED_IN_X
\n
\n

Unit: Count

\n

Valid groupings and filters: Queue, Channel, Routing Profile, contact/segmentAttributes/connect:Subtype,\n Q in Connect

\n

Threshold: For ThresholdValue, enter any whole number from 1 to 604800\n (inclusive), in seconds. For Comparison, you must enter LT (for\n \"Less than\").

\n

UI name: Contacts answered in X seconds\n

\n
\n
SUM_CONTACT_FLOW_TIME
\n
\n

Unit: Seconds

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Q in Connect

\n

UI name: Contact flow time\n

\n
\n
SUM_CONTACT_TIME_AGENT
\n
\n

Unit: Seconds

\n

Valid groupings and filters: Routing Profile, Agent, Agent Hierarchy

\n

UI name: Agent on contact time\n

\n
\n
SUM_CONTACTS_DISCONNECTED
\n
\n

Valid metric filter key: DISCONNECT_REASON\n

\n

Unit: Count

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy,\n contact/segmentAttributes/connect:Subtype, Q in Connect

\n

UI name: Contact disconnected\n

\n
\n
SUM_ERROR_STATUS_TIME_AGENT
\n
\n

Unit: Seconds

\n

Valid groupings and filters: Routing Profile, Agent, Agent Hierarchy

\n

UI name: Error status time\n

\n
\n
SUM_HANDLE_TIME
\n
\n

Unit: Seconds

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Q in Connect

\n

UI name: Contact handle time\n

\n
\n
SUM_HOLD_TIME
\n
\n

Unit: Count

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Q in Connect

\n

UI name: Customer hold time\n

\n
\n
SUM_IDLE_TIME_AGENT
\n
\n

Unit: Seconds

\n

Valid groupings and filters: Routing Profile, Agent, Agent Hierarchy

\n

UI name: Agent idle time\n

\n
\n
SUM_INTERACTION_AND_HOLD_TIME
\n
\n

Unit: Seconds

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Q in Connect

\n

UI name: Agent interaction and hold time\n

\n
\n
SUM_INTERACTION_TIME
\n
\n

Unit: Seconds

\n

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

\n

UI name: Agent interaction time\n

\n
\n
SUM_NON_PRODUCTIVE_TIME_AGENT
\n
\n

Unit: Seconds

\n

Valid groupings and filters: Routing Profile, Agent, Agent Hierarchy

\n

UI name: Non-Productive Time\n

\n
\n
SUM_ONLINE_TIME_AGENT
\n
\n

Unit: Seconds

\n

Valid groupings and filters: Routing Profile, Agent, Agent Hierarchy

\n

UI name: Online time\n

\n
\n
SUM_RETRY_CALLBACK_ATTEMPTS
\n
\n

Unit: Count

\n

Valid groupings and filters: Queue, Channel, Routing Profile, contact/segmentAttributes/connect:Subtype,\n Q in Connect

\n

UI name: Callback attempts\n

\n
\n
", "smithy.api#required": {} } }, @@ -19756,6 +19883,26 @@ "smithy.api#output": {} } }, + "com.amazonaws.connect#ListCondition": { + "type": "structure", + "members": { + "TargetListType": { + "target": "com.amazonaws.connect#TargetListType", + "traits": { + "smithy.api#documentation": "

The type of target list that will be used to filter the users.

" + } + }, + "Conditions": { + "target": "com.amazonaws.connect#Conditions", + "traits": { + "smithy.api#documentation": "

A list of Condition objects which would be applied together with an AND condition.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

A leaf node condition which can be used to specify a List condition to search users with\n attributes included in Lists like Proficiencies.

" + } + }, "com.amazonaws.connect#ListContactEvaluations": { "type": "operation", "input": { @@ -24374,6 +24521,88 @@ } } }, + "com.amazonaws.connect#NullableProficiencyLimitValue": { + "type": "integer" + }, + "com.amazonaws.connect#NumberComparisonType": { + "type": "enum", + "members": { + "GREATER_OR_EQUAL": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "GREATER_OR_EQUAL" + } + }, + "GREATER": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "GREATER" + } + }, + "LESSER_OR_EQUAL": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "LESSER_OR_EQUAL" + } + }, + "LESSER": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "LESSER" + } + }, + "EQUAL": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "EQUAL" + } + }, + "NOT_EQUAL": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "NOT_EQUAL" + } + }, + "RANGE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "RANGE" + } + } + } + }, + "com.amazonaws.connect#NumberCondition": { + "type": "structure", + "members": { + "FieldName": { + "target": "com.amazonaws.connect#String", + "traits": { + "smithy.api#documentation": "

The name of the field in the number condition.

" + } + }, + "MinValue": { + "target": "com.amazonaws.connect#NullableProficiencyLimitValue", + "traits": { + "smithy.api#documentation": "

The minValue to be used while evaluating the number condition.

" + } + }, + "MaxValue": { + "target": "com.amazonaws.connect#NullableProficiencyLimitValue", + "traits": { + "smithy.api#documentation": "

The maxValue to be used while evaluating the number condition.

" + } + }, + "ComparisonType": { + "target": "com.amazonaws.connect#NumberComparisonType", + "traits": { + "smithy.api#documentation": "

The type of comparison to be made when evaluating the number condition.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

A leaf node condition which can be used to specify a numeric condition.

\n \n

The currently supported value for FieldName is limit.

\n
" + } + }, "com.amazonaws.connect#NumberReference": { "type": "structure", "members": { @@ -29951,6 +30180,111 @@ "smithy.api#pattern": "^s3://\\S+/.+|https://\\\\S+\\\\.s3\\\\.\\\\S+\\\\.amazonaws\\\\.com/\\\\S+$" } }, + "com.amazonaws.connect#SearchAgentStatuses": { + "type": "operation", + "input": { + "target": "com.amazonaws.connect#SearchAgentStatusesRequest" + }, + "output": { + "target": "com.amazonaws.connect#SearchAgentStatusesResponse" + }, + "errors": [ + { + "target": "com.amazonaws.connect#InternalServiceException" + }, + { + "target": "com.amazonaws.connect#InvalidParameterException" + }, + { + "target": "com.amazonaws.connect#InvalidRequestException" + }, + { + "target": "com.amazonaws.connect#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.connect#ThrottlingException" + } + ], + "traits": { + "smithy.api#documentation": "

Searches AgentStatuses in an Amazon Connect instance, with optional filtering.

", + "smithy.api#http": { + "method": "POST", + "uri": "/search-agent-statuses", + "code": 200 + }, + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "items": "AgentStatuses", + "pageSize": "MaxResults" + } + } + }, + "com.amazonaws.connect#SearchAgentStatusesRequest": { + "type": "structure", + "members": { + "InstanceId": { + "target": "com.amazonaws.connect#InstanceId", + "traits": { + "smithy.api#documentation": "

The identifier of the Amazon Connect instance. You can find the instanceId in the ARN of\n the instance.

", + "smithy.api#required": {} + } + }, + "NextToken": { + "target": "com.amazonaws.connect#NextToken2500", + "traits": { + "smithy.api#documentation": "

The token for the next set of results. Use the value returned in the previous response in\n the next request to retrieve the next set of results.

" + } + }, + "MaxResults": { + "target": "com.amazonaws.connect#MaxResult100", + "traits": { + "smithy.api#documentation": "

The maximum number of results to return per page.

" + } + }, + "SearchFilter": { + "target": "com.amazonaws.connect#AgentStatusSearchFilter", + "traits": { + "smithy.api#documentation": "

Filters to be applied to search results.

" + } + }, + "SearchCriteria": { + "target": "com.amazonaws.connect#AgentStatusSearchCriteria", + "traits": { + "smithy.api#documentation": "

The search criteria to be used to return agent statuses.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.connect#SearchAgentStatusesResponse": { + "type": "structure", + "members": { + "AgentStatuses": { + "target": "com.amazonaws.connect#AgentStatusList", + "traits": { + "smithy.api#documentation": "

The search criteria to be used to return agent statuses.

" + } + }, + "NextToken": { + "target": "com.amazonaws.connect#NextToken2500", + "traits": { + "smithy.api#documentation": "

If there are additional results, this is the token for the next set of results.

" + } + }, + "ApproximateTotalCount": { + "target": "com.amazonaws.connect#ApproximateTotalCount", + "traits": { + "smithy.api#documentation": "

The total number of agent statuses which matched your search query.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.connect#SearchAvailablePhoneNumbers": { "type": "operation", "input": { @@ -31083,7 +31417,7 @@ "ResourceTypes": { "target": "com.amazonaws.connect#ResourceTypeList", "traits": { - "smithy.api#documentation": "

The list of resource types to be used to search tags from. If not provided or if any empty\n list is provided, this API will search from all supported resource types.

" + "smithy.api#documentation": "

The list of resource types to be used to search tags from. If not provided or if any empty\n list is provided, this API will search from all supported resource types.

\n

\n Supported resource types\n

\n " } }, "NextToken": { @@ -31361,6 +31695,111 @@ } } }, + "com.amazonaws.connect#SearchUserHierarchyGroups": { + "type": "operation", + "input": { + "target": "com.amazonaws.connect#SearchUserHierarchyGroupsRequest" + }, + "output": { + "target": "com.amazonaws.connect#SearchUserHierarchyGroupsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.connect#InternalServiceException" + }, + { + "target": "com.amazonaws.connect#InvalidParameterException" + }, + { + "target": "com.amazonaws.connect#InvalidRequestException" + }, + { + "target": "com.amazonaws.connect#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.connect#ThrottlingException" + } + ], + "traits": { + "smithy.api#documentation": "

Searches UserHierarchyGroups in an Amazon Connect instance, with optional\n filtering.

\n \n

The UserHierarchyGroup with \"LevelId\": \"0\" is the foundation for building\n levels on top of an instance. It is not user-definable, nor is it visible in the UI.

\n
", + "smithy.api#http": { + "method": "POST", + "uri": "/search-user-hierarchy-groups", + "code": 200 + }, + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "items": "UserHierarchyGroups", + "pageSize": "MaxResults" + } + } + }, + "com.amazonaws.connect#SearchUserHierarchyGroupsRequest": { + "type": "structure", + "members": { + "InstanceId": { + "target": "com.amazonaws.connect#InstanceId", + "traits": { + "smithy.api#documentation": "

The identifier of the Amazon Connect instance. You can find the instanceId in the ARN of\n the instance.

", + "smithy.api#required": {} + } + }, + "NextToken": { + "target": "com.amazonaws.connect#NextToken2500", + "traits": { + "smithy.api#documentation": "

The token for the next set of results. Use the value returned in the previous response in\n the next request to retrieve the next set of results.

" + } + }, + "MaxResults": { + "target": "com.amazonaws.connect#MaxResult100", + "traits": { + "smithy.api#documentation": "

The maximum number of results to return per page.

" + } + }, + "SearchFilter": { + "target": "com.amazonaws.connect#UserHierarchyGroupSearchFilter", + "traits": { + "smithy.api#documentation": "

Filters to be applied to search results.

" + } + }, + "SearchCriteria": { + "target": "com.amazonaws.connect#UserHierarchyGroupSearchCriteria", + "traits": { + "smithy.api#documentation": "

The search criteria to be used to return UserHierarchyGroups.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.connect#SearchUserHierarchyGroupsResponse": { + "type": "structure", + "members": { + "UserHierarchyGroups": { + "target": "com.amazonaws.connect#UserHierarchyGroupList", + "traits": { + "smithy.api#documentation": "

Information about the userHierarchyGroups.

" + } + }, + "NextToken": { + "target": "com.amazonaws.connect#NextToken2500", + "traits": { + "smithy.api#documentation": "

If there are additional results, this is the token for the next set of results.

" + } + }, + "ApproximateTotalCount": { + "target": "com.amazonaws.connect#ApproximateTotalCount", + "traits": { + "smithy.api#documentation": "

The total number of userHierarchyGroups which matched your search query.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.connect#SearchUsers": { "type": "operation", "input": { @@ -33701,7 +34140,7 @@ } }, "traits": { - "smithy.api#documentation": "

A leaf node condition which can be used to specify a string condition.

\n \n

The currently supported values for FieldName are name and\n description.

\n
" + "smithy.api#documentation": "

A leaf node condition which can be used to specify a string condition.

" } }, "com.amazonaws.connect#StringReference": { @@ -34058,7 +34497,7 @@ "min": 1, "max": 128 }, - "smithy.api#pattern": "^(?!aws:)[a-zA-Z+-=._:/]+$" + "smithy.api#pattern": "^(?!aws:)[\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*$" } }, "com.amazonaws.connect#TagKeyList": { @@ -34257,6 +34696,17 @@ "target": "com.amazonaws.connect#TagSet" } }, + "com.amazonaws.connect#TargetListType": { + "type": "enum", + "members": { + "PROFICIENCIES": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "PROFICIENCIES" + } + } + } + }, "com.amazonaws.connect#TaskActionDefinition": { "type": "structure", "members": { @@ -39442,6 +39892,58 @@ "target": "com.amazonaws.connect#UserData" } }, + "com.amazonaws.connect#UserHierarchyGroupList": { + "type": "list", + "member": { + "target": "com.amazonaws.connect#HierarchyGroup" + } + }, + "com.amazonaws.connect#UserHierarchyGroupSearchConditionList": { + "type": "list", + "member": { + "target": "com.amazonaws.connect#UserHierarchyGroupSearchCriteria" + } + }, + "com.amazonaws.connect#UserHierarchyGroupSearchCriteria": { + "type": "structure", + "members": { + "OrConditions": { + "target": "com.amazonaws.connect#UserHierarchyGroupSearchConditionList", + "traits": { + "smithy.api#documentation": "

A list of conditions which would be applied together with an OR condition.

" + } + }, + "AndConditions": { + "target": "com.amazonaws.connect#UserHierarchyGroupSearchConditionList", + "traits": { + "smithy.api#documentation": "

A list of conditions which would be applied together with an AND condition.

" + } + }, + "StringCondition": { + "target": "com.amazonaws.connect#StringCondition", + "traits": { + "smithy.api#documentation": "

A leaf node condition which can be used to specify a string condition.

\n \n

The currently supported values for FieldName are name,\u2028\u2028\n parentId, levelId, and resourceID.

\n
" + } + } + }, + "traits": { + "smithy.api#documentation": "

The search criteria to be used to return userHierarchyGroup.

" + } + }, + "com.amazonaws.connect#UserHierarchyGroupSearchFilter": { + "type": "structure", + "members": { + "AttributeFilter": { + "target": "com.amazonaws.connect#ControlPlaneAttributeFilter", + "traits": { + "smithy.api#documentation": "

An object that can be used to specify Tag conditions inside the SearchFilter. This accepts\n an OR or AND (List of List) input where:

\n " + } + } + }, + "traits": { + "smithy.api#documentation": "

Filters to be applied to search results.

" + } + }, "com.amazonaws.connect#UserId": { "type": "string" }, @@ -39690,6 +40192,12 @@ "smithy.api#documentation": "

A leaf node condition which can be used to specify a string condition.

\n

The currently supported values for FieldName are Username,\n FirstName, LastName, RoutingProfileId,\n SecurityProfileId, ResourceId.

" } }, + "ListCondition": { + "target": "com.amazonaws.connect#ListCondition", + "traits": { + "smithy.api#documentation": "

A leaf node condition which can be used to specify a List condition to search users with\n attributes included in Lists like Proficiencies.

" + } + }, "HierarchyGroupCondition": { "target": "com.amazonaws.connect#HierarchyGroupCondition", "traits": { diff --git a/aws-models/ec2.json b/aws-models/ec2.json index 29a68f146668..20f2ebe277b9 100644 --- a/aws-models/ec2.json +++ b/aws-models/ec2.json @@ -2363,6 +2363,9 @@ { "target": "com.amazonaws.ec2#CreateIpam" }, + { + "target": "com.amazonaws.ec2#CreateIpamExternalResourceVerificationToken" + }, { "target": "com.amazonaws.ec2#CreateIpamPool" }, @@ -2591,6 +2594,9 @@ { "target": "com.amazonaws.ec2#DeleteIpam" }, + { + "target": "com.amazonaws.ec2#DeleteIpamExternalResourceVerificationToken" + }, { "target": "com.amazonaws.ec2#DeleteIpamPool" }, @@ -2963,6 +2969,9 @@ { "target": "com.amazonaws.ec2#DescribeIpamByoasn" }, + { + "target": "com.amazonaws.ec2#DescribeIpamExternalResourceVerificationTokens" + }, { "target": "com.amazonaws.ec2#DescribeIpamPools" }, @@ -15897,6 +15906,70 @@ "smithy.api#documentation": "

Create an IPAM. Amazon VPC IP Address Manager (IPAM) is a VPC feature that you can use\n to automate your IP address management workflows including assigning, tracking,\n troubleshooting, and auditing IP addresses across Amazon Web Services Regions and accounts\n throughout your Amazon Web Services Organization.

\n

For more information, see Create an IPAM in the Amazon VPC IPAM User Guide.\n

" } }, + "com.amazonaws.ec2#CreateIpamExternalResourceVerificationToken": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#CreateIpamExternalResourceVerificationTokenRequest" + }, + "output": { + "target": "com.amazonaws.ec2#CreateIpamExternalResourceVerificationTokenResult" + }, + "traits": { + "smithy.api#documentation": "

Create a verification token. A verification token is an Amazon Web Services-generated random value that you can use to prove ownership of an external resource. For example, you can use a verification token to validate that you control a public IP address range when you bring an IP address range to Amazon Web Services (BYOIP).\n

" + } + }, + "com.amazonaws.ec2#CreateIpamExternalResourceVerificationTokenRequest": { + "type": "structure", + "members": { + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#documentation": "

A check for whether you have the required permissions for the action without actually making the request \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + } + }, + "IpamId": { + "target": "com.amazonaws.ec2#IpamId", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the IPAM that will create the token.

", + "smithy.api#required": {} + } + }, + "TagSpecifications": { + "target": "com.amazonaws.ec2#TagSpecificationList", + "traits": { + "smithy.api#documentation": "

Token tags.

", + "smithy.api#xmlName": "TagSpecification" + } + }, + "ClientToken": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring idempotency.

", + "smithy.api#idempotencyToken": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#CreateIpamExternalResourceVerificationTokenResult": { + "type": "structure", + "members": { + "IpamExternalResourceVerificationToken": { + "target": "com.amazonaws.ec2#IpamExternalResourceVerificationToken", + "traits": { + "aws.protocols#ec2QueryName": "IpamExternalResourceVerificationToken", + "smithy.api#documentation": "

The verification token.

", + "smithy.api#xmlName": "ipamExternalResourceVerificationToken" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.ec2#CreateIpamPool": { "type": "operation", "input": { @@ -15929,7 +16002,7 @@ "Locale": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

In IPAM, the locale is the Amazon Web Services Region or, for IPAM IPv4 pools in the public scope, the network border group for an Amazon Web Services Local Zone where you want to make an IPAM pool available for allocations (supported Local Zones). If you do not choose a locale, resources in Regions others than the IPAM's home region cannot use CIDRs from this pool.

\n

Possible values: Any Amazon Web Services Region, such as us-east-1.

" + "smithy.api#documentation": "

The locale for the pool should be one of the following:

\n \n

If you do not choose a locale, resources in Regions others than the IPAM's home region cannot use CIDRs from this pool.

\n

Possible values: Any Amazon Web Services Region or supported Amazon Web Services Local Zone.

" } }, "SourceIpamPoolId": { @@ -23079,6 +23152,56 @@ "smithy.api#documentation": "

Delete an IPAM. Deleting an IPAM removes all monitored data associated with the IPAM including the historical data for CIDRs.

\n

For more information, see Delete an IPAM in the Amazon VPC IPAM User Guide.\n

" } }, + "com.amazonaws.ec2#DeleteIpamExternalResourceVerificationToken": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#DeleteIpamExternalResourceVerificationTokenRequest" + }, + "output": { + "target": "com.amazonaws.ec2#DeleteIpamExternalResourceVerificationTokenResult" + }, + "traits": { + "smithy.api#documentation": "

Delete a verification token. A verification token is an Amazon Web Services-generated random value that you can use to prove ownership of an external resource. For example, you can use a verification token to validate that you control a public IP address range when you bring an IP address range to Amazon Web Services (BYOIP).\n

" + } + }, + "com.amazonaws.ec2#DeleteIpamExternalResourceVerificationTokenRequest": { + "type": "structure", + "members": { + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#documentation": "

A check for whether you have the required permissions for the action without actually making the request \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + } + }, + "IpamExternalResourceVerificationTokenId": { + "target": "com.amazonaws.ec2#IpamExternalResourceVerificationTokenId", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The token ID.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#DeleteIpamExternalResourceVerificationTokenResult": { + "type": "structure", + "members": { + "IpamExternalResourceVerificationToken": { + "target": "com.amazonaws.ec2#IpamExternalResourceVerificationToken", + "traits": { + "aws.protocols#ec2QueryName": "IpamExternalResourceVerificationToken", + "smithy.api#documentation": "

The verification token.

", + "smithy.api#xmlName": "ipamExternalResourceVerificationToken" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.ec2#DeleteIpamPool": { "type": "operation", "input": { @@ -32647,6 +32770,82 @@ "smithy.api#output": {} } }, + "com.amazonaws.ec2#DescribeIpamExternalResourceVerificationTokens": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#DescribeIpamExternalResourceVerificationTokensRequest" + }, + "output": { + "target": "com.amazonaws.ec2#DescribeIpamExternalResourceVerificationTokensResult" + }, + "traits": { + "smithy.api#documentation": "

Describe verification tokens. A verification token is an Amazon Web Services-generated random value that you can use to prove ownership of an external resource. For example, you can use a verification token to validate that you control a public IP address range when you bring an IP address range to Amazon Web Services (BYOIP).\n

" + } + }, + "com.amazonaws.ec2#DescribeIpamExternalResourceVerificationTokensRequest": { + "type": "structure", + "members": { + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#documentation": "

A check for whether you have the required permissions for the action without actually making the request \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + } + }, + "Filters": { + "target": "com.amazonaws.ec2#FilterList", + "traits": { + "smithy.api#documentation": "

One or more filters for the request. For more information about filtering, see Filtering CLI output.

\n

Available filters:

\n ", + "smithy.api#xmlName": "Filter" + } + }, + "NextToken": { + "target": "com.amazonaws.ec2#NextToken", + "traits": { + "smithy.api#documentation": "

The token for the next page of results.

" + } + }, + "MaxResults": { + "target": "com.amazonaws.ec2#IpamMaxResults", + "traits": { + "smithy.api#documentation": "

The maximum number of tokens to return in one page of results.

" + } + }, + "IpamExternalResourceVerificationTokenIds": { + "target": "com.amazonaws.ec2#ValueStringList", + "traits": { + "smithy.api#documentation": "

Verification token IDs.

", + "smithy.api#xmlName": "IpamExternalResourceVerificationTokenId" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#DescribeIpamExternalResourceVerificationTokensResult": { + "type": "structure", + "members": { + "NextToken": { + "target": "com.amazonaws.ec2#NextToken", + "traits": { + "aws.protocols#ec2QueryName": "NextToken", + "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "smithy.api#xmlName": "nextToken" + } + }, + "IpamExternalResourceVerificationTokens": { + "target": "com.amazonaws.ec2#IpamExternalResourceVerificationTokenSet", + "traits": { + "aws.protocols#ec2QueryName": "IpamExternalResourceVerificationTokenSet", + "smithy.api#documentation": "

Verification tokens.

", + "smithy.api#xmlName": "ipamExternalResourceVerificationTokenSet" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.ec2#DescribeIpamPools": { "type": "operation", "input": { @@ -35560,7 +35759,7 @@ "target": "com.amazonaws.ec2#DescribePlacementGroupsResult" }, "traits": { - "smithy.api#documentation": "

Describes the specified placement groups or all of your placement groups. For more\n information, see Placement groups in the\n Amazon EC2 User Guide.

" + "smithy.api#documentation": "

Describes the specified placement groups or all of your placement groups.

\n \n

To describe a specific placement group that is shared with\n your account, you must specify the ID of the placement group using the\n GroupId parameter. Specifying the name of a\n shared placement group using the GroupNames\n parameter will result in an error.

\n
\n

For more information, see Placement groups in the\n Amazon EC2 User Guide.

" } }, "com.amazonaws.ec2#DescribePlacementGroupsRequest": { @@ -35585,7 +35784,7 @@ "target": "com.amazonaws.ec2#PlacementGroupStringList", "traits": { "aws.protocols#ec2QueryName": "GroupName", - "smithy.api#documentation": "

The names of the placement groups.

\n

Default: Describes all your placement groups, or only those otherwise\n specified.

", + "smithy.api#documentation": "

The names of the placement groups.

\n

Constraints:

\n ", "smithy.api#xmlName": "groupName" } }, @@ -40882,7 +41081,7 @@ "target": "com.amazonaws.ec2#DescribeVolumesModificationsResult" }, "traits": { - "smithy.api#documentation": "

Describes the most recent volume modification request for the specified EBS volumes.

\n

If a volume has never been modified, some information in the output will be null.\n If a volume has been modified more than once, the output includes only the most \n recent modification request.

\n

For more information, see \n Monitor the progress of volume modifications in the Amazon EBS User Guide.

", + "smithy.api#documentation": "

Describes the most recent volume modification request for the specified EBS volumes.

\n

For more information, see \n Monitor the progress of volume modifications in the Amazon EBS User Guide.

", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", @@ -49946,7 +50145,7 @@ "target": "com.amazonaws.ec2#Double", "traits": { "aws.protocols#ec2QueryName": "WeightedCapacity", - "smithy.api#documentation": "

The number of units provided by the specified instance type.

\n \n

When specifying weights, the price used in the lowest-price and\n price-capacity-optimized allocation strategies is per\n unit hour (where the instance price is divided by the specified\n weight). However, if all the specified weights are above the requested\n TargetCapacity, resulting in only 1 instance being launched, the price\n used is per instance hour.

\n
", + "smithy.api#documentation": "

The number of units provided by the specified instance type. These are the same units\n that you chose to set the target capacity in terms of instances, or a performance\n characteristic such as vCPUs, memory, or I/O.

\n

If the target capacity divided by this value is not a whole number, Amazon EC2 rounds the\n number of instances to the next whole number. If this value is not specified, the default\n is 1.

\n \n

When specifying weights, the price used in the lowest-price and\n price-capacity-optimized allocation strategies is per\n unit hour (where the instance price is divided by the specified\n weight). However, if all the specified weights are above the requested\n TargetCapacity, resulting in only 1 instance being launched, the price\n used is per instance hour.

\n
", "smithy.api#xmlName": "weightedCapacity" } }, @@ -50035,7 +50234,7 @@ "WeightedCapacity": { "target": "com.amazonaws.ec2#Double", "traits": { - "smithy.api#documentation": "

The number of units provided by the specified instance type.

\n \n

When specifying weights, the price used in the lowest-price and\n price-capacity-optimized allocation strategies is per\n unit hour (where the instance price is divided by the specified\n weight). However, if all the specified weights are above the requested\n TargetCapacity, resulting in only 1 instance being launched, the price\n used is per instance hour.

\n
" + "smithy.api#documentation": "

The number of units provided by the specified instance type. These are the same units\n that you chose to set the target capacity in terms of instances, or a performance\n characteristic such as vCPUs, memory, or I/O.

\n

If the target capacity divided by this value is not a whole number, Amazon EC2 rounds the\n number of instances to the next whole number. If this value is not specified, the default\n is 1.

\n \n

When specifying weights, the price used in the lowest-price and\n price-capacity-optimized allocation strategies is per\n unit hour (where the instance price is divided by the specified\n weight). However, if all the specified weights are above the requested\n TargetCapacity, resulting in only 1 instance being launched, the price\n used is per instance hour.

\n
" } }, "Priority": { @@ -51390,7 +51589,7 @@ "target": "com.amazonaws.ec2#GetConsoleOutputResult" }, "traits": { - "smithy.api#documentation": "

Gets the console output for the specified instance. For Linux instances, the instance\n console output displays the exact console output that would normally be displayed on a\n physical monitor attached to a computer. For Windows instances, the instance console\n output includes the last three system event log errors.

\n

By default, the console output returns buffered information that was posted shortly\n after an instance transition state (start, stop, reboot, or terminate). This information\n is available for at least one hour after the most recent post. Only the most recent 64\n KB of console output is available.

\n

You can optionally retrieve the latest serial console output at any time during the\n instance lifecycle. This option is supported on instance types that use the Nitro\n hypervisor.

\n

For more information, see Instance\n console output in the Amazon EC2 User Guide.

", + "smithy.api#documentation": "

Gets the console output for the specified instance. For Linux instances, the instance\n console output displays the exact console output that would normally be displayed on a\n physical monitor attached to a computer. For Windows instances, the instance console\n output includes the last three system event log errors.

\n

For more information, see Instance\n console output in the Amazon EC2 User Guide.

", "smithy.api#examples": [ { "title": "To get the console output", @@ -67683,7 +67882,7 @@ "target": "com.amazonaws.ec2#IpamNetworkInterfaceAttachmentStatus", "traits": { "aws.protocols#ec2QueryName": "NetworkInterfaceAttachmentStatus", - "smithy.api#documentation": "

For elastic IP addresses, this is the status of an attached network interface.

", + "smithy.api#documentation": "

For elastic network interfaces, this is the status of whether or not the elastic network interface is attached.

", "smithy.api#xmlName": "networkInterfaceAttachmentStatus" } }, @@ -67764,6 +67963,155 @@ "smithy.api#documentation": "

The discovery failure reason.

" } }, + "com.amazonaws.ec2#IpamExternalResourceVerificationToken": { + "type": "structure", + "members": { + "IpamExternalResourceVerificationTokenId": { + "target": "com.amazonaws.ec2#IpamExternalResourceVerificationTokenId", + "traits": { + "aws.protocols#ec2QueryName": "IpamExternalResourceVerificationTokenId", + "smithy.api#documentation": "

The ID of the token.

", + "smithy.api#xmlName": "ipamExternalResourceVerificationTokenId" + } + }, + "IpamExternalResourceVerificationTokenArn": { + "target": "com.amazonaws.ec2#ResourceArn", + "traits": { + "aws.protocols#ec2QueryName": "IpamExternalResourceVerificationTokenArn", + "smithy.api#documentation": "

Token ARN.

", + "smithy.api#xmlName": "ipamExternalResourceVerificationTokenArn" + } + }, + "IpamId": { + "target": "com.amazonaws.ec2#IpamId", + "traits": { + "aws.protocols#ec2QueryName": "IpamId", + "smithy.api#documentation": "

The ID of the IPAM that created the token.

", + "smithy.api#xmlName": "ipamId" + } + }, + "IpamArn": { + "target": "com.amazonaws.ec2#ResourceArn", + "traits": { + "aws.protocols#ec2QueryName": "IpamArn", + "smithy.api#documentation": "

ARN of the IPAM that created the token.

", + "smithy.api#xmlName": "ipamArn" + } + }, + "IpamRegion": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "IpamRegion", + "smithy.api#documentation": "

Region of the IPAM that created the token.

", + "smithy.api#xmlName": "ipamRegion" + } + }, + "TokenValue": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "TokenValue", + "smithy.api#documentation": "

Token value.

", + "smithy.api#xmlName": "tokenValue" + } + }, + "TokenName": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "TokenName", + "smithy.api#documentation": "

Token name.

", + "smithy.api#xmlName": "tokenName" + } + }, + "NotAfter": { + "target": "com.amazonaws.ec2#MillisecondDateTime", + "traits": { + "aws.protocols#ec2QueryName": "NotAfter", + "smithy.api#documentation": "

Token expiration.

", + "smithy.api#xmlName": "notAfter" + } + }, + "Status": { + "target": "com.amazonaws.ec2#TokenState", + "traits": { + "aws.protocols#ec2QueryName": "Status", + "smithy.api#documentation": "

Token status.

", + "smithy.api#xmlName": "status" + } + }, + "Tags": { + "target": "com.amazonaws.ec2#TagList", + "traits": { + "aws.protocols#ec2QueryName": "TagSet", + "smithy.api#documentation": "

Token tags.

", + "smithy.api#xmlName": "tagSet" + } + }, + "State": { + "target": "com.amazonaws.ec2#IpamExternalResourceVerificationTokenState", + "traits": { + "aws.protocols#ec2QueryName": "State", + "smithy.api#documentation": "

Token state.

", + "smithy.api#xmlName": "state" + } + } + }, + "traits": { + "smithy.api#documentation": "

A verification token is an Amazon Web Services-generated random value that you can use to prove ownership of an external resource. For example, you can use a verification token to validate that you control a public IP address range when you bring an IP address range to Amazon Web Services (BYOIP).\n

" + } + }, + "com.amazonaws.ec2#IpamExternalResourceVerificationTokenId": { + "type": "string" + }, + "com.amazonaws.ec2#IpamExternalResourceVerificationTokenSet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#IpamExternalResourceVerificationToken", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#IpamExternalResourceVerificationTokenState": { + "type": "enum", + "members": { + "CREATE_IN_PROGRESS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "create-in-progress" + } + }, + "CREATE_COMPLETE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "create-complete" + } + }, + "CREATE_FAILED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "create-failed" + } + }, + "DELETE_IN_PROGRESS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "delete-in-progress" + } + }, + "DELETE_COMPLETE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "delete-complete" + } + }, + "DELETE_FAILED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "delete-failed" + } + } + } + }, "com.amazonaws.ec2#IpamId": { "type": "string" }, @@ -67944,7 +68292,7 @@ "target": "com.amazonaws.ec2#String", "traits": { "aws.protocols#ec2QueryName": "Locale", - "smithy.api#documentation": "

The locale of the IPAM pool. In IPAM, the locale is the Amazon Web Services Region or, for IPAM IPv4 pools in the public scope, the network border group for an Amazon Web Services Local Zone where you want to make an IPAM pool available for allocations (supported Local Zones). If you choose an Amazon Web Services Region for locale that has not been configured as an operating Region for the IPAM, you'll get an error.

", + "smithy.api#documentation": "

The locale of the IPAM pool.

\n

The locale for the pool should be one of the following:

\n \n

If you choose an Amazon Web Services Region for locale that has not been configured as an operating Region for the IPAM, you'll get an error.

", "smithy.api#xmlName": "locale" } }, @@ -71802,7 +72150,7 @@ "target": "com.amazonaws.ec2#Double", "traits": { "aws.protocols#ec2QueryName": "WeightedCapacity", - "smithy.api#documentation": "

The number of units provided by the specified instance type.

\n \n

When specifying weights, the price used in the lowest-price and\n price-capacity-optimized allocation strategies is per\n unit hour (where the instance price is divided by the specified\n weight). However, if all the specified weights are above the requested\n TargetCapacity, resulting in only 1 instance being launched, the price\n used is per instance hour.

\n
", + "smithy.api#documentation": "

The number of units provided by the specified instance type. These are the same units\n that you chose to set the target capacity in terms of instances, or a performance\n characteristic such as vCPUs, memory, or I/O.

\n

If the target capacity divided by this value is not a whole number, Amazon EC2 rounds the\n number of instances to the next whole number. If this value is not specified, the default\n is 1.

\n \n

When specifying weights, the price used in the lowestPrice and\n priceCapacityOptimized allocation strategies is per\n unit hour (where the instance price is divided by the specified\n weight). However, if all the specified weights are above the requested\n TargetCapacity, resulting in only 1 instance being launched, the price\n used is per instance hour.

\n
", "smithy.api#xmlName": "weightedCapacity" } }, @@ -85208,7 +85556,7 @@ "CidrAuthorizationContext": { "target": "com.amazonaws.ec2#IpamCidrAuthorizationContext", "traits": { - "smithy.api#documentation": "

A signed document that proves that you are authorized to bring a specified IP address range to Amazon using BYOIP. This option applies to public pools only.

" + "smithy.api#documentation": "

A signed document that proves that you are authorized to bring a specified IP address range to Amazon using BYOIP. This option only applies to IPv4 and IPv6 pools in the public scope.

" } }, "NetmaskLength": { @@ -85223,6 +85571,18 @@ "smithy.api#documentation": "

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring idempotency.

", "smithy.api#idempotencyToken": {} } + }, + "VerificationMethod": { + "target": "com.amazonaws.ec2#VerificationMethod", + "traits": { + "smithy.api#documentation": "

The method for verifying control of a public IP address range. Defaults to remarks-x509 if not specified. This option only applies to IPv4 and IPv6 pools in the public scope.

" + } + }, + "IpamExternalResourceVerificationTokenId": { + "target": "com.amazonaws.ec2#IpamExternalResourceVerificationTokenId", + "traits": { + "smithy.api#documentation": "

Verification token ID. This option only applies to IPv4 and IPv6 pools in the public scope.

" + } } }, "traits": { @@ -90754,6 +91114,12 @@ "traits": { "smithy.api#enumValue": "instance-connect-endpoint" } + }, + "ipam_external_resource_verification_token": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ipam-external-resource-verification-token" + } } } }, @@ -95872,7 +96238,7 @@ "target": "com.amazonaws.ec2#Double", "traits": { "aws.protocols#ec2QueryName": "WeightedCapacity", - "smithy.api#documentation": "

The number of units provided by the specified instance type. These are the same units that you chose to set the target capacity in terms of instances, or a performance characteristic such as vCPUs, memory, or I/O.

\n

If the target capacity divided by this value is not a whole number, Amazon EC2 rounds the number of instances to the next whole number. If this value is not specified, the default is 1.

", + "smithy.api#documentation": "

The number of units provided by the specified instance type. These are the same units\n that you chose to set the target capacity in terms of instances, or a performance\n characteristic such as vCPUs, memory, or I/O.

\n

If the target capacity divided by this value is not a whole number, Amazon EC2 rounds the\n number of instances to the next whole number. If this value is not specified, the default\n is 1.

\n \n

When specifying weights, the price used in the lowestPrice and\n priceCapacityOptimized allocation strategies is per\n unit hour (where the instance price is divided by the specified\n weight). However, if all the specified weights are above the requested\n TargetCapacity, resulting in only 1 instance being launched, the price\n used is per instance hour.

\n
", "smithy.api#xmlName": "weightedCapacity" } }, @@ -99190,6 +99556,23 @@ } } }, + "com.amazonaws.ec2#TokenState": { + "type": "enum", + "members": { + "valid": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "valid" + } + }, + "expired": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "expired" + } + } + } + }, "com.amazonaws.ec2#TotalLocalStorageGB": { "type": "structure", "members": { @@ -104118,6 +104501,23 @@ } } }, + "com.amazonaws.ec2#VerificationMethod": { + "type": "enum", + "members": { + "remarks_x509": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "remarks-x509" + } + }, + "dns_token": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "dns-token" + } + } + } + }, "com.amazonaws.ec2#VerifiedAccessEndpoint": { "type": "structure", "members": { @@ -105721,7 +106121,7 @@ "target": "com.amazonaws.ec2#VolumeModificationState", "traits": { "aws.protocols#ec2QueryName": "ModificationState", - "smithy.api#documentation": "

The current modification state. The modification state is null for unmodified\n volumes.

", + "smithy.api#documentation": "

The current modification state.

", "smithy.api#xmlName": "modificationState" } }, @@ -105839,7 +106239,7 @@ } }, "traits": { - "smithy.api#documentation": "

Describes the modification status of an EBS volume.

\n

If the volume has never been modified, some element values will be null.

" + "smithy.api#documentation": "

Describes the modification status of an EBS volume.

" } }, "com.amazonaws.ec2#VolumeModificationList": { diff --git a/aws-models/firehose.json b/aws-models/firehose.json index 14d83e82f8b3..e89f2448b37d 100644 --- a/aws-models/firehose.json +++ b/aws-models/firehose.json @@ -753,6 +753,20 @@ "smithy.api#documentation": "

Describes hints for the buffering to perform before delivering data to the\n destination. These options are treated as hints, and therefore Firehose might\n choose to use different values when it is optimal. The SizeInMBs and\n IntervalInSeconds parameters are optional. However, if specify a value for\n one of them, you must also provide a value for the other.

" } }, + "com.amazonaws.firehose#CatalogConfiguration": { + "type": "structure", + "members": { + "CatalogARN": { + "target": "com.amazonaws.firehose#GlueDataCatalogARN", + "traits": { + "smithy.api#documentation": "

\n Specifies the Glue catalog ARN indentifier of the destination Apache Iceberg Tables. You must specify the ARN in the format arn:aws:glue:region:account-id:catalog.\n

\n

Amazon Data Firehose is in preview release and is subject to change.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

\n Describes the containers where the destination Apache Iceberg Tables are persisted.\n

\n

Amazon Data Firehose is in preview release and is subject to change.

" + } + }, "com.amazonaws.firehose#CloudWatchLoggingOptions": { "type": "structure", "members": { @@ -1036,6 +1050,12 @@ "traits": { "smithy.api#documentation": "

Configure Snowflake destination

" } + }, + "IcebergDestinationConfiguration": { + "target": "com.amazonaws.firehose#IcebergDestinationConfiguration", + "traits": { + "smithy.api#documentation": "

\n Configure Apache Iceberg Tables destination.\n

\n

Amazon Data Firehose is in preview release and is subject to change.

" + } } }, "traits": { @@ -1715,6 +1735,12 @@ "traits": { "smithy.api#documentation": "

The destination in the Serverless offering for Amazon OpenSearch Service.

" } + }, + "IcebergDestinationDescription": { + "target": "com.amazonaws.firehose#IcebergDestinationDescription", + "traits": { + "smithy.api#documentation": "

\n Describes a destination in Apache Iceberg Tables.\n

\n

Amazon Data Firehose is in preview release and is subject to change.

" + } } }, "traits": { @@ -1737,6 +1763,46 @@ "smithy.api#pattern": "^[a-zA-Z0-9-]+$" } }, + "com.amazonaws.firehose#DestinationTableConfiguration": { + "type": "structure", + "members": { + "DestinationTableName": { + "target": "com.amazonaws.firehose#NonEmptyStringWithoutWhitespace", + "traits": { + "smithy.api#documentation": "

\n Specifies the name of the Apache Iceberg Table.\n

\n

Amazon Data Firehose is in preview release and is subject to change.

", + "smithy.api#required": {} + } + }, + "DestinationDatabaseName": { + "target": "com.amazonaws.firehose#NonEmptyStringWithoutWhitespace", + "traits": { + "smithy.api#documentation": "

\n The name of the Apache Iceberg database.\n

\n

Amazon Data Firehose is in preview release and is subject to change.

", + "smithy.api#required": {} + } + }, + "UniqueKeys": { + "target": "com.amazonaws.firehose#ListOfNonEmptyStringsWithoutWhitespace", + "traits": { + "smithy.api#documentation": "

\n A list of unique keys for a given Apache Iceberg table. Firehose will use these for running Create/Update/Delete operations on the given Iceberg table. \n \n

\n

Amazon Data Firehose is in preview release and is subject to change.

" + } + }, + "S3ErrorOutputPrefix": { + "target": "com.amazonaws.firehose#ErrorOutputPrefix", + "traits": { + "smithy.api#documentation": "

\n The table specific S3 error output prefix. All the errors that occurred while delivering to this table will be prefixed with this value in S3 destination. \n

\n

Amazon Data Firehose is in preview release and is subject to change.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

\n Describes the configuration of a destination in Apache Iceberg Tables.\n

\n

Amazon Data Firehose is in preview release and is subject to change.

" + } + }, + "com.amazonaws.firehose#DestinationTableConfigurationList": { + "type": "list", + "member": { + "target": "com.amazonaws.firehose#DestinationTableConfiguration" + } + }, "com.amazonaws.firehose#DocumentIdOptions": { "type": "structure", "members": { @@ -3600,6 +3666,16 @@ } } }, + "com.amazonaws.firehose#GlueDataCatalogARN": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 512 + }, + "smithy.api#pattern": "^arn:" + } + }, "com.amazonaws.firehose#HECAcknowledgmentTimeoutInSeconds": { "type": "integer", "traits": { @@ -4074,6 +4150,169 @@ "smithy.api#sensitive": {} } }, + "com.amazonaws.firehose#IcebergDestinationConfiguration": { + "type": "structure", + "members": { + "DestinationTableConfigurationList": { + "target": "com.amazonaws.firehose#DestinationTableConfigurationList", + "traits": { + "smithy.api#documentation": "

Provides a list of DestinationTableConfigurations which Firehose uses\n to deliver data to Apache Iceberg tables.

\n

Amazon Data Firehose is in preview release and is subject to change.

" + } + }, + "BufferingHints": { + "target": "com.amazonaws.firehose#BufferingHints" + }, + "CloudWatchLoggingOptions": { + "target": "com.amazonaws.firehose#CloudWatchLoggingOptions" + }, + "ProcessingConfiguration": { + "target": "com.amazonaws.firehose#ProcessingConfiguration" + }, + "S3BackupMode": { + "target": "com.amazonaws.firehose#IcebergS3BackupMode", + "traits": { + "smithy.api#documentation": "

Describes how Firehose will backup records. Currently,Firehose only supports\n FailedDataOnly for preview.

\n

Amazon Data Firehose is in preview release and is subject to change.

" + } + }, + "RetryOptions": { + "target": "com.amazonaws.firehose#RetryOptions" + }, + "RoleARN": { + "target": "com.amazonaws.firehose#RoleARN", + "traits": { + "smithy.api#documentation": "

\n The Amazon Resource Name (ARN) of the Apache Iceberg tables role.\n

\n

Amazon Data Firehose is in preview release and is subject to change.

", + "smithy.api#required": {} + } + }, + "CatalogConfiguration": { + "target": "com.amazonaws.firehose#CatalogConfiguration", + "traits": { + "smithy.api#documentation": "

\n Configuration describing where the destination Apache Iceberg Tables are persisted.\n

\n

Amazon Data Firehose is in preview release and is subject to change.

", + "smithy.api#required": {} + } + }, + "S3Configuration": { + "target": "com.amazonaws.firehose#S3DestinationConfiguration", + "traits": { + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

\n Specifies the destination configure settings for Apache Iceberg Table.\n

\n

Amazon Data Firehose is in preview release and is subject to change.

" + } + }, + "com.amazonaws.firehose#IcebergDestinationDescription": { + "type": "structure", + "members": { + "DestinationTableConfigurationList": { + "target": "com.amazonaws.firehose#DestinationTableConfigurationList", + "traits": { + "smithy.api#documentation": "

Provides a list of DestinationTableConfigurations which Firehose uses\n to deliver data to Apache Iceberg tables.

\n

Amazon Data Firehose is in preview release and is subject to change.

" + } + }, + "BufferingHints": { + "target": "com.amazonaws.firehose#BufferingHints" + }, + "CloudWatchLoggingOptions": { + "target": "com.amazonaws.firehose#CloudWatchLoggingOptions" + }, + "ProcessingConfiguration": { + "target": "com.amazonaws.firehose#ProcessingConfiguration" + }, + "S3BackupMode": { + "target": "com.amazonaws.firehose#IcebergS3BackupMode", + "traits": { + "smithy.api#documentation": "

Describes how Firehose will backup records. Currently,Firehose only supports\n FailedDataOnly for preview.

\n

Amazon Data Firehose is in preview release and is subject to change.

" + } + }, + "RetryOptions": { + "target": "com.amazonaws.firehose#RetryOptions" + }, + "RoleARN": { + "target": "com.amazonaws.firehose#RoleARN", + "traits": { + "smithy.api#documentation": "

\n The Amazon Resource Name (ARN) of the Apache Iceberg Tables role.\n

\n

Amazon Data Firehose is in preview release and is subject to change.

" + } + }, + "CatalogConfiguration": { + "target": "com.amazonaws.firehose#CatalogConfiguration", + "traits": { + "smithy.api#documentation": "

\n Configuration describing where the destination Iceberg tables are persisted.\n

\n

Amazon Data Firehose is in preview release and is subject to change.

" + } + }, + "S3DestinationDescription": { + "target": "com.amazonaws.firehose#S3DestinationDescription" + } + }, + "traits": { + "smithy.api#documentation": "

\n Describes a destination in Apache Iceberg Tables.\n

\n

Amazon Data Firehose is in preview release and is subject to change.

" + } + }, + "com.amazonaws.firehose#IcebergDestinationUpdate": { + "type": "structure", + "members": { + "DestinationTableConfigurationList": { + "target": "com.amazonaws.firehose#DestinationTableConfigurationList", + "traits": { + "smithy.api#documentation": "

Provides a list of DestinationTableConfigurations which Firehose uses\n to deliver data to Apache Iceberg tables.

\n

Amazon Data Firehose is in preview release and is subject to change.

" + } + }, + "BufferingHints": { + "target": "com.amazonaws.firehose#BufferingHints" + }, + "CloudWatchLoggingOptions": { + "target": "com.amazonaws.firehose#CloudWatchLoggingOptions" + }, + "ProcessingConfiguration": { + "target": "com.amazonaws.firehose#ProcessingConfiguration" + }, + "S3BackupMode": { + "target": "com.amazonaws.firehose#IcebergS3BackupMode", + "traits": { + "smithy.api#documentation": "

Describes how Firehose will backup records. Currently,Firehose only supports\n FailedDataOnly for preview.

\n

Amazon Data Firehose is in preview release and is subject to change.

" + } + }, + "RetryOptions": { + "target": "com.amazonaws.firehose#RetryOptions" + }, + "RoleARN": { + "target": "com.amazonaws.firehose#RoleARN", + "traits": { + "smithy.api#documentation": "

\n The Amazon Resource Name (ARN) of the Apache Iceberg Tables role.\n

\n

Amazon Data Firehose is in preview release and is subject to change.

" + } + }, + "CatalogConfiguration": { + "target": "com.amazonaws.firehose#CatalogConfiguration", + "traits": { + "smithy.api#documentation": "

\n Configuration describing where the destination Iceberg tables are persisted.\n

\n

Amazon Data Firehose is in preview release and is subject to change.

" + } + }, + "S3Configuration": { + "target": "com.amazonaws.firehose#S3DestinationConfiguration" + } + }, + "traits": { + "smithy.api#documentation": "

\n Describes an update for a destination in Apache Iceberg Tables.\n

\n

Amazon Data Firehose is in preview release and is subject to change.

" + } + }, + "com.amazonaws.firehose#IcebergS3BackupMode": { + "type": "enum", + "members": { + "FailedDataOnly": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "FailedDataOnly" + } + }, + "AllData": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "AllData" + } + } + } + }, "com.amazonaws.firehose#InputFormatConfiguration": { "type": "structure", "members": { @@ -4256,20 +4495,7 @@ "target": "com.amazonaws.firehose#ListDeliveryStreamsOutput" }, "traits": { - "smithy.api#documentation": "

Lists your delivery streams in alphabetical order of their names.

\n

The number of delivery streams might be too large to return using a single call to\n ListDeliveryStreams. You can limit the number of delivery streams returned,\n using the Limit parameter. To determine whether there are more delivery\n streams to list, check the value of HasMoreDeliveryStreams in the output. If\n there are more delivery streams to list, you can request them by calling this operation\n again and setting the ExclusiveStartDeliveryStreamName parameter to the name\n of the last delivery stream returned in the last call.

", - "smithy.test#smokeTests": [ - { - "id": "ListDeliveryStreamsSuccess", - "params": {}, - "vendorParams": { - "region": "us-west-2" - }, - "vendorParamsShape": "aws.test#AwsVendorParams", - "expect": { - "success": {} - } - } - ] + "smithy.api#documentation": "

Lists your delivery streams in alphabetical order of their names.

\n

The number of delivery streams might be too large to return using a single call to\n ListDeliveryStreams. You can limit the number of delivery streams returned,\n using the Limit parameter. To determine whether there are more delivery\n streams to list, check the value of HasMoreDeliveryStreams in the output. If\n there are more delivery streams to list, you can request them by calling this operation\n again and setting the ExclusiveStartDeliveryStreamName parameter to the name\n of the last delivery stream returned in the last call.

" } }, "com.amazonaws.firehose#ListDeliveryStreamsInput": { @@ -4487,6 +4713,12 @@ "smithy.api#documentation": "

The authentication configuration of the Amazon MSK cluster.

", "smithy.api#required": {} } + }, + "ReadFromTimestamp": { + "target": "com.amazonaws.firehose#ReadFromTimestamp", + "traits": { + "smithy.api#documentation": "

The start date and time in UTC for the offset position within your MSK topic from where\n Firehose begins to read. By default, this is set to timestamp when Firehose becomes Active.

\n

If you want to create a Firehose stream with Earliest start position from SDK or CLI,\n you need to set the ReadFromTimestamp parameter to Epoch\n (1970-01-01T00:00:00Z).

" + } } }, "traits": { @@ -4519,6 +4751,12 @@ "traits": { "smithy.api#documentation": "

Firehose starts retrieving records from the topic within the Amazon MSK\n cluster starting with this timestamp.

" } + }, + "ReadFromTimestamp": { + "target": "com.amazonaws.firehose#ReadFromTimestamp", + "traits": { + "smithy.api#documentation": "

The start date and time in UTC for the offset position within your MSK topic from where\n Firehose begins to read. By default, this is set to timestamp when Firehose becomes Active.

\n

If you want to create a Firehose stream with Earliest start position from SDK or CLI,\n you need to set the ReadFromTimestampUTC parameter to Epoch\n (1970-01-01T00:00:00Z).

" + } } }, "traits": { @@ -5256,6 +5494,9 @@ } } }, + "com.amazonaws.firehose#ReadFromTimestamp": { + "type": "timestamp" + }, "com.amazonaws.firehose#Record": { "type": "structure", "members": { @@ -5957,6 +6198,44 @@ "smithy.api#sensitive": {} } }, + "com.amazonaws.firehose#SnowflakeBufferingHints": { + "type": "structure", + "members": { + "SizeInMBs": { + "target": "com.amazonaws.firehose#SnowflakeBufferingSizeInMBs", + "traits": { + "smithy.api#documentation": "

\n Buffer incoming data to the specified size, in MBs, before delivering it to the destination. The default value is 1.\n

" + } + }, + "IntervalInSeconds": { + "target": "com.amazonaws.firehose#SnowflakeBufferingIntervalInSeconds", + "traits": { + "smithy.api#documentation": "

\n Buffer incoming data for the specified period of time, in seconds, before delivering it to the destination. The default value is 0.\n

" + } + } + }, + "traits": { + "smithy.api#documentation": "

\n Describes the buffering to perform before delivering data to the Snowflake destination. If you do not specify any value, Firehose uses the default values.\n

" + } + }, + "com.amazonaws.firehose#SnowflakeBufferingIntervalInSeconds": { + "type": "integer", + "traits": { + "smithy.api#range": { + "min": 0, + "max": 900 + } + } + }, + "com.amazonaws.firehose#SnowflakeBufferingSizeInMBs": { + "type": "integer", + "traits": { + "smithy.api#range": { + "min": 1, + "max": 128 + } + } + }, "com.amazonaws.firehose#SnowflakeContentColumnName": { "type": "string", "traits": { @@ -6115,6 +6394,12 @@ "traits": { "smithy.api#documentation": "

\n The configuration that defines how you access secrets for Snowflake.\n

" } + }, + "BufferingHints": { + "target": "com.amazonaws.firehose#SnowflakeBufferingHints", + "traits": { + "smithy.api#documentation": "

\n Describes the buffering to perform before delivering data to the Snowflake destination. If you do not specify any value, Firehose uses the default values.\n

" + } } }, "traits": { @@ -6216,6 +6501,12 @@ "traits": { "smithy.api#documentation": "

\n The configuration that defines how you access secrets for Snowflake.\n

" } + }, + "BufferingHints": { + "target": "com.amazonaws.firehose#SnowflakeBufferingHints", + "traits": { + "smithy.api#documentation": "

\n Describes the buffering to perform before delivering data to the Snowflake destination. If you do not specify any value, Firehose uses the default values.\n

" + } } }, "traits": { @@ -6323,6 +6614,12 @@ "traits": { "smithy.api#documentation": "

\n Describes the Secrets Manager configuration in Snowflake.\n

" } + }, + "BufferingHints": { + "target": "com.amazonaws.firehose#SnowflakeBufferingHints", + "traits": { + "smithy.api#documentation": "

\n Describes the buffering to perform before delivering data to the Snowflake destination. \n

" + } } }, "traits": { @@ -7218,6 +7515,12 @@ "traits": { "smithy.api#documentation": "

Update to the Snowflake destination configuration settings.

" } + }, + "IcebergDestinationUpdate": { + "target": "com.amazonaws.firehose#IcebergDestinationUpdate", + "traits": { + "smithy.api#documentation": "

\n Describes an update for a destination in Apache Iceberg Tables.\n

\n

Amazon Data Firehose is in preview release and is subject to change.

" + } } }, "traits": { diff --git a/aws-models/ivschat.json b/aws-models/ivschat.json index 5ba8fb7d2c6f..38a532a2f3a5 100644 --- a/aws-models/ivschat.json +++ b/aws-models/ivschat.json @@ -103,7 +103,7 @@ "date" ] }, - "smithy.api#documentation": "

\n Introduction\n

\n

The Amazon IVS Chat control-plane API enables you to create and manage Amazon IVS Chat\n resources. You also need to integrate with the Amazon IVS Chat Messaging\n API, to enable users to interact with chat rooms in real time.

\n

The API is an AWS regional service. For a list of supported regions and Amazon IVS Chat\n HTTPS service endpoints, see the Amazon IVS Chat information on the Amazon IVS page in the\n AWS General Reference.

\n

\n Notes on terminology:\n

\n \n

\n Key Concepts\n

\n \n

\n Tagging\n

\n

A tag is a metadata label that you assign to an AWS resource. A tag\n comprises a key and a value, both set by you. For\n example, you might set a tag as topic:nature to label a particular video\n category. See Tagging AWS Resources for more information, including restrictions that apply to\n tags and \"Tag naming limits and requirements\"; Amazon IVS Chat has no service-specific\n constraints beyond what is documented there.

\n

Tags can help you identify and organize your AWS resources. For example, you can use the\n same tag for different resources to indicate that they are related. You can also use tags to\n manage access (see Access Tags).

\n

The Amazon IVS Chat API has these tag-related endpoints: TagResource, UntagResource, and\n ListTagsForResource. The following resource supports tagging: Room.

\n

At most 50 tags can be applied to a resource.

\n

\n API Access Security\n

\n

Your Amazon IVS Chat applications (service applications and clients) must be authenticated\n and authorized to access Amazon IVS Chat resources. Note the differences between these\n concepts:

\n \n

Users (viewers) connect to a room using secure access tokens that you create using the\n CreateChatToken endpoint through the AWS SDK. You call CreateChatToken for\n every user’s chat session, passing identity and authorization information about the\n user.

\n

\n Signing API Requests\n

\n

HTTP API requests must be signed with an AWS SigV4 signature using your AWS security\n credentials. The AWS Command Line Interface (CLI) and the AWS SDKs take care of signing the\n underlying API calls for you. However, if your application calls the Amazon IVS Chat HTTP API\n directly, it’s your responsibility to sign the requests.

\n

You generate a signature using valid AWS credentials for an IAM role that has permission\n to perform the requested action. For example, DeleteMessage requests must be made using an IAM\n role that has the ivschat:DeleteMessage permission.

\n

For more information:

\n \n

\n Amazon Resource Names (ARNs)\n

\n

ARNs uniquely identify AWS resources. An ARN is required when you need to specify a\n resource unambiguously across all of AWS, such as in IAM policies and API calls. For more\n information, see Amazon Resource Names in the AWS General\n Reference.

\n

\n Messaging Endpoints\n

\n \n

\n Chat Token Endpoint\n

\n \n

\n Room Endpoints\n

\n \n

\n Logging Configuration Endpoints\n

\n \n

\n Tags Endpoints\n

\n \n

All the above are HTTP operations. There is a separate messaging API\n for managing Chat resources; see the Amazon IVS Chat Messaging API\n Reference.

", + "smithy.api#documentation": "

\n Introduction\n

\n

The Amazon IVS Chat control-plane API enables you to create and manage Amazon IVS Chat\n resources. You also need to integrate with the Amazon IVS Chat Messaging\n API, to enable users to interact with chat rooms in real time.

\n

The API is an AWS regional service. For a list of supported regions and Amazon IVS Chat\n HTTPS service endpoints, see the Amazon IVS Chat information on the Amazon IVS page in the\n AWS General Reference.

\n

This document describes HTTP operations. There is a separate messaging API\n for managing Chat resources; see the Amazon IVS Chat Messaging API\n Reference.

\n

\n Notes on terminology:\n

\n \n

\n Resources\n

\n

The following resources are part of Amazon IVS Chat:

\n \n

\n Tagging\n

\n

A tag is a metadata label that you assign to an AWS resource. A tag\n comprises a key and a value, both set by you. For\n example, you might set a tag as topic:nature to label a particular video\n category. See Tagging AWS Resources for more information, including restrictions that apply to\n tags and \"Tag naming limits and requirements\"; Amazon IVS Chat has no service-specific\n constraints beyond what is documented there.

\n

Tags can help you identify and organize your AWS resources. For example, you can use the\n same tag for different resources to indicate that they are related. You can also use tags to\n manage access (see Access Tags).

\n

The Amazon IVS Chat API has these tag-related endpoints: TagResource, UntagResource, and\n ListTagsForResource. The following resource supports tagging: Room.

\n

At most 50 tags can be applied to a resource.

\n

\n API Access Security\n

\n

Your Amazon IVS Chat applications (service applications and clients) must be authenticated\n and authorized to access Amazon IVS Chat resources. Note the differences between these\n concepts:

\n \n

Users (viewers) connect to a room using secure access tokens that you create using the\n CreateChatToken endpoint through the AWS SDK. You call CreateChatToken for\n every user’s chat session, passing identity and authorization information about the\n user.

\n

\n Signing API Requests\n

\n

HTTP API requests must be signed with an AWS SigV4 signature using your AWS security\n credentials. The AWS Command Line Interface (CLI) and the AWS SDKs take care of signing the\n underlying API calls for you. However, if your application calls the Amazon IVS Chat HTTP API\n directly, it’s your responsibility to sign the requests.

\n

You generate a signature using valid AWS credentials for an IAM role that has permission\n to perform the requested action. For example, DeleteMessage requests must be made using an IAM\n role that has the ivschat:DeleteMessage permission.

\n

For more information:

\n \n

\n Amazon Resource Names (ARNs)\n

\n

ARNs uniquely identify AWS resources. An ARN is required when you need to specify a\n resource unambiguously across all of AWS, such as in IAM policies and API calls. For more\n information, see Amazon Resource Names in the AWS General\n Reference.

", "smithy.api#title": "Amazon Interactive Video Service Chat", "smithy.rules#endpointRuleSet": { "version": "1.0", diff --git a/aws-models/medialive.json b/aws-models/medialive.json index 319afa137465..2a9c638ff472 100644 --- a/aws-models/medialive.json +++ b/aws-models/medialive.json @@ -654,6 +654,32 @@ "smithy.api#documentation": "Afd Signaling" } }, + "com.amazonaws.medialive#Algorithm": { + "type": "enum", + "members": { + "AES128": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "AES128" + } + }, + "AES192": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "AES192" + } + }, + "AES256": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "AES256" + } + } + }, + "traits": { + "smithy.api#documentation": "Placeholder documentation for Algorithm" + } + }, "com.amazonaws.medialive#AncillarySourceSettings": { "type": "structure", "members": { @@ -4969,6 +4995,13 @@ "traits": { "smithy.api#jsonName": "vpc" } + }, + "SrtSettings": { + "target": "com.amazonaws.medialive#SrtSettingsRequest", + "traits": { + "smithy.api#documentation": "The settings associated with an SRT input.", + "smithy.api#jsonName": "srtSettings" + } } }, "traits": { @@ -7907,6 +7940,13 @@ "traits": { "smithy.api#jsonName": "type" } + }, + "SrtSettings": { + "target": "com.amazonaws.medialive#SrtSettings", + "traits": { + "smithy.api#documentation": "The settings associated with an SRT input.", + "smithy.api#jsonName": "srtSettings" + } } }, "traits": { @@ -9720,7 +9760,7 @@ "Bitrate": { "target": "com.amazonaws.medialive#__double", "traits": { - "smithy.api#documentation": "Average bitrate in bits/second. Valid bitrates depend on the coding mode.\n// * @affectsRightSizing true", + "smithy.api#documentation": "Average bitrate in bits/second. Valid bitrates depend on the coding mode.", "smithy.api#jsonName": "bitrate" } }, @@ -13030,7 +13070,7 @@ "FilterSettings": { "target": "com.amazonaws.medialive#H264FilterSettings", "traits": { - "smithy.api#documentation": "Optional filters that you can apply to an encode.", + "smithy.api#documentation": "Optional. Both filters reduce bandwidth by removing imperceptible details. You can enable one of the filters. We\nrecommend that you try both filters and observe the results to decide which one to use.\n\nThe Temporal Filter reduces bandwidth by removing imperceptible details in the content. It combines perceptual\nfiltering and motion compensated temporal filtering (MCTF). It operates independently of the compression level.\n\nThe Bandwidth Reduction filter is a perceptual filter located within the encoding loop. It adapts to the current\ncompression level to filter imperceptible signals. This filter works only when the resolution is 1080p or lower.", "smithy.api#jsonName": "filterSettings" } }, @@ -13851,7 +13891,7 @@ "FilterSettings": { "target": "com.amazonaws.medialive#H265FilterSettings", "traits": { - "smithy.api#documentation": "Optional filters that you can apply to an encode.", + "smithy.api#documentation": "Optional. Both filters reduce bandwidth by removing imperceptible details. You can enable one of the filters. We\nrecommend that you try both filters and observe the results to decide which one to use.\n\nThe Temporal Filter reduces bandwidth by removing imperceptible details in the content. It combines perceptual\nfiltering and motion compensated temporal filtering (MCTF). It operates independently of the compression level.\n\nThe Bandwidth Reduction filter is a perceptual filter located within the encoding loop. It adapts to the current\ncompression level to filter imperceptible signals. This filter works only when the resolution is 1080p or lower.", "smithy.api#jsonName": "filterSettings" } }, @@ -15587,6 +15627,13 @@ "traits": { "smithy.api#jsonName": "type" } + }, + "SrtSettings": { + "target": "com.amazonaws.medialive#SrtSettings", + "traits": { + "smithy.api#documentation": "The settings associated with an SRT input.", + "smithy.api#jsonName": "srtSettings" + } } }, "traits": { @@ -17464,6 +17511,12 @@ "traits": { "smithy.api#enumValue": "TS_FILE" } + }, + "SRT_CALLER": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "SRT_CALLER" + } } }, "traits": { @@ -20553,6 +20606,9 @@ "name": "medialive" }, "aws.protocols#restJson1": {}, + "smithy.api#auth": [ + "aws.auth#sigv4" + ], "smithy.api#documentation": "API for AWS Elemental MediaLive", "smithy.api#title": "AWS Elemental MediaLive", "smithy.rules#endpointRuleSet": { @@ -26180,6 +26236,162 @@ "smithy.api#documentation": "Smpte Tt Destination Settings" } }, + "com.amazonaws.medialive#SrtCallerDecryption": { + "type": "structure", + "members": { + "Algorithm": { + "target": "com.amazonaws.medialive#Algorithm", + "traits": { + "smithy.api#documentation": "The algorithm used to encrypt content.", + "smithy.api#jsonName": "algorithm" + } + }, + "PassphraseSecretArn": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The ARN for the secret in Secrets Manager. Someone in your organization must create a secret and provide you with its ARN. The secret holds the passphrase that MediaLive uses to decrypt the source content.", + "smithy.api#jsonName": "passphraseSecretArn" + } + } + }, + "traits": { + "smithy.api#documentation": "The decryption settings for the SRT caller source. Present only if the source has decryption enabled." + } + }, + "com.amazonaws.medialive#SrtCallerDecryptionRequest": { + "type": "structure", + "members": { + "Algorithm": { + "target": "com.amazonaws.medialive#Algorithm", + "traits": { + "smithy.api#documentation": "The algorithm used to encrypt content.", + "smithy.api#jsonName": "algorithm" + } + }, + "PassphraseSecretArn": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The ARN for the secret in Secrets Manager. Someone in your organization must create a secret and provide you with its ARN. This secret holds the passphrase that MediaLive will use to decrypt the source content.", + "smithy.api#jsonName": "passphraseSecretArn" + } + } + }, + "traits": { + "smithy.api#documentation": "Complete these parameters only if the content is encrypted." + } + }, + "com.amazonaws.medialive#SrtCallerSource": { + "type": "structure", + "members": { + "Decryption": { + "target": "com.amazonaws.medialive#SrtCallerDecryption", + "traits": { + "smithy.api#jsonName": "decryption" + } + }, + "MinimumLatency": { + "target": "com.amazonaws.medialive#__integer", + "traits": { + "smithy.api#documentation": "The preferred latency (in milliseconds) for implementing packet loss and recovery. Packet recovery is a key feature of SRT.", + "smithy.api#jsonName": "minimumLatency" + } + }, + "SrtListenerAddress": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The IP address at the upstream system (the listener) that MediaLive (the caller) connects to.", + "smithy.api#jsonName": "srtListenerAddress" + } + }, + "SrtListenerPort": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The port at the upstream system (the listener) that MediaLive (the caller) connects to.", + "smithy.api#jsonName": "srtListenerPort" + } + }, + "StreamId": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The stream ID, if the upstream system uses this identifier.", + "smithy.api#jsonName": "streamId" + } + } + }, + "traits": { + "smithy.api#documentation": "The configuration for a source that uses SRT as the connection protocol. In terms of establishing the connection, MediaLive is always caller and the upstream system is always the listener. In terms of transmission of the source content, MediaLive is always the receiver and the upstream system is always the sender." + } + }, + "com.amazonaws.medialive#SrtCallerSourceRequest": { + "type": "structure", + "members": { + "Decryption": { + "target": "com.amazonaws.medialive#SrtCallerDecryptionRequest", + "traits": { + "smithy.api#jsonName": "decryption" + } + }, + "MinimumLatency": { + "target": "com.amazonaws.medialive#__integer", + "traits": { + "smithy.api#documentation": "The preferred latency (in milliseconds) for implementing packet loss and recovery. Packet recovery is a key feature of SRT. Obtain this value from the operator at the upstream system.", + "smithy.api#jsonName": "minimumLatency" + } + }, + "SrtListenerAddress": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The IP address at the upstream system (the listener) that MediaLive (the caller) will connect to.", + "smithy.api#jsonName": "srtListenerAddress" + } + }, + "SrtListenerPort": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The port at the upstream system (the listener) that MediaLive (the caller) will connect to.", + "smithy.api#jsonName": "srtListenerPort" + } + }, + "StreamId": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "This value is required if the upstream system uses this identifier because without it, the SRT handshake between MediaLive (the caller) and the upstream system (the listener) might fail.", + "smithy.api#jsonName": "streamId" + } + } + }, + "traits": { + "smithy.api#documentation": "Configures the connection for a source that uses SRT as the connection protocol. In terms of establishing the connection, MediaLive is always the caller and the upstream system is always the listener. In terms of transmission of the source content, MediaLive is always the receiver and the upstream system is always the sender." + } + }, + "com.amazonaws.medialive#SrtSettings": { + "type": "structure", + "members": { + "SrtCallerSources": { + "target": "com.amazonaws.medialive#__listOfSrtCallerSource", + "traits": { + "smithy.api#jsonName": "srtCallerSources" + } + } + }, + "traits": { + "smithy.api#documentation": "The configured sources for this SRT input." + } + }, + "com.amazonaws.medialive#SrtSettingsRequest": { + "type": "structure", + "members": { + "SrtCallerSources": { + "target": "com.amazonaws.medialive#__listOfSrtCallerSourceRequest", + "traits": { + "smithy.api#jsonName": "srtCallerSources" + } + } + }, + "traits": { + "smithy.api#documentation": "Configures the sources for this SRT input. For a single-pipeline input, include one srtCallerSource in the array. For a standard-pipeline input, include two srtCallerSource." + } + }, "com.amazonaws.medialive#StandardHlsSettings": { "type": "structure", "members": { @@ -30027,6 +30239,13 @@ "smithy.api#documentation": "The source URLs for a PULL-type input. Every PULL type input needs\nexactly two source URLs for redundancy.\nOnly specify sources for PULL type Inputs. Leave Destinations empty.", "smithy.api#jsonName": "sources" } + }, + "SrtSettings": { + "target": "com.amazonaws.medialive#SrtSettingsRequest", + "traits": { + "smithy.api#documentation": "The settings associated with an SRT input.", + "smithy.api#jsonName": "srtSettings" + } } }, "traits": { @@ -32033,6 +32252,24 @@ "smithy.api#documentation": "Placeholder documentation for __listOfSignalMapSummary" } }, + "com.amazonaws.medialive#__listOfSrtCallerSource": { + "type": "list", + "member": { + "target": "com.amazonaws.medialive#SrtCallerSource" + }, + "traits": { + "smithy.api#documentation": "Placeholder documentation for __listOfSrtCallerSource" + } + }, + "com.amazonaws.medialive#__listOfSrtCallerSourceRequest": { + "type": "list", + "member": { + "target": "com.amazonaws.medialive#SrtCallerSourceRequest" + }, + "traits": { + "smithy.api#documentation": "Placeholder documentation for __listOfSrtCallerSourceRequest" + } + }, "com.amazonaws.medialive#__listOfThumbnail": { "type": "list", "member": { diff --git a/aws-models/rds.json b/aws-models/rds.json index 706afa674304..902fc849c7ca 100644 --- a/aws-models/rds.json +++ b/aws-models/rds.json @@ -4409,7 +4409,7 @@ "PubliclyAccessible": { "target": "com.amazonaws.rds#BooleanOptional", "traits": { - "smithy.api#documentation": "

Specifies whether the DB cluster is publicly accessible.

\n

When the DB cluster is publicly accessible, its Domain Name System (DNS) endpoint\n resolves to the private IP address from within the DB cluster's virtual private cloud\n (VPC). It resolves to the public IP address from outside of the DB cluster's VPC. Access\n to the DB cluster is ultimately controlled by the security group it uses. That public\n access isn't permitted if the security group assigned to the DB cluster doesn't permit\n it.

\n

When the DB cluster isn't publicly accessible, it is an internal DB cluster with a DNS name that resolves to a private IP address.

\n

Valid for Cluster Type: Multi-AZ DB clusters only

\n

Default: The default behavior varies depending on whether DBSubnetGroupName is specified.

\n

If DBSubnetGroupName isn't specified, and PubliclyAccessible isn't specified, the following applies:

\n \n

If DBSubnetGroupName is specified, and PubliclyAccessible isn't specified, the following applies:

\n " + "smithy.api#documentation": "

Specifies whether the DB cluster is publicly accessible.

\n

When the DB cluster is publicly accessible and you connect from outside of the DB cluster's virtual private cloud (VPC), \n its Domain Name System (DNS) endpoint resolves to the public IP address. When you connect from within the same VPC as the DB cluster, \n the endpoint resolves to the private IP address. Access to the DB cluster is ultimately controlled by the security group it uses. That public\n access isn't permitted if the security group assigned to the DB cluster doesn't permit it.

\n

When the DB cluster isn't publicly accessible, it is an internal DB cluster with a DNS name that resolves to a private IP address.

\n

Valid for Cluster Type: Multi-AZ DB clusters only

\n

Default: The default behavior varies depending on whether DBSubnetGroupName is specified.

\n

If DBSubnetGroupName isn't specified, and PubliclyAccessible isn't specified, the following applies:

\n \n

If DBSubnetGroupName is specified, and PubliclyAccessible isn't specified, the following applies:

\n " } }, "AutoMinorVersionUpgrade": { @@ -5053,7 +5053,7 @@ "PubliclyAccessible": { "target": "com.amazonaws.rds#BooleanOptional", "traits": { - "smithy.api#documentation": "

Specifies whether the DB instance is publicly accessible.

\n

When the DB instance is publicly accessible, its Domain Name System (DNS) endpoint resolves to the private IP address from \n within the DB instance's virtual private cloud (VPC). It resolves to the public IP address from outside of the DB instance's VPC. \n Access to the DB instance is ultimately controlled by the security group it uses. \n That public access is not permitted if the security group assigned to the DB instance doesn't permit it.

\n

When the DB instance isn't publicly accessible, it is an internal DB instance with a DNS name that resolves to a private IP address.

\n

Default: The default behavior varies depending on whether DBSubnetGroupName is specified.

\n

If DBSubnetGroupName isn't specified, and PubliclyAccessible isn't specified, the following applies:

\n \n

If DBSubnetGroupName is specified, and PubliclyAccessible isn't specified, the following applies:

\n " + "smithy.api#documentation": "

Specifies whether the DB instance is publicly accessible.

\n

When the DB instance is publicly accessible and you connect from outside of the DB instance's virtual private cloud (VPC), \n its Domain Name System (DNS) endpoint resolves to the public IP address. When you connect from within the same VPC as the DB instance, \n the endpoint resolves to the private IP address. Access to the DB instance is ultimately controlled by the security group it uses. \n That public access is not permitted if the security group assigned to the DB instance doesn't permit it.

\n

When the DB instance isn't publicly accessible, it is an internal DB instance with a DNS name that resolves to a private IP address.

\n

Default: The default behavior varies depending on whether DBSubnetGroupName is specified.

\n

If DBSubnetGroupName isn't specified, and PubliclyAccessible isn't specified, the following applies:

\n \n

If DBSubnetGroupName is specified, and PubliclyAccessible isn't specified, the following applies:

\n " } }, "Tags": { @@ -7436,7 +7436,7 @@ "PubliclyAccessible": { "target": "com.amazonaws.rds#BooleanOptional", "traits": { - "smithy.api#documentation": "

Indicates whether the DB cluster is publicly accessible.

\n

When the DB cluster is publicly accessible, its Domain Name System (DNS) endpoint\n resolves to the private IP address from within the DB cluster's virtual private cloud\n (VPC). It resolves to the public IP address from outside of the DB cluster's VPC. Access\n to the DB cluster is ultimately controlled by the security group it uses. That public\n access isn't permitted if the security group assigned to the DB cluster doesn't permit\n it.

\n

When the DB cluster isn't publicly accessible, it is an internal DB cluster with a DNS name that resolves to a private IP address.

\n

For more information, see CreateDBCluster.

\n

This setting is only for non-Aurora Multi-AZ DB clusters.

" + "smithy.api#documentation": "

Indicates whether the DB cluster is publicly accessible.

\n

When the DB cluster is publicly accessible and you connect from outside of the DB cluster's virtual private cloud (VPC), \n its Domain Name System (DNS) endpoint resolves to the public IP address. When you connect from within the same VPC as the DB cluster, \n the endpoint resolves to the private IP address. Access to the DB cluster is ultimately controlled by the security group it uses. That public\n access isn't permitted if the security group assigned to the DB cluster doesn't permit it.

\n

When the DB cluster isn't publicly accessible, it is an internal DB cluster with a DNS name that resolves to a private IP address.

\n

For more information, see CreateDBCluster.

\n

This setting is only for non-Aurora Multi-AZ DB clusters.

" } }, "AutoMinorVersionUpgrade": { @@ -9150,7 +9150,7 @@ "PubliclyAccessible": { "target": "com.amazonaws.rds#Boolean", "traits": { - "smithy.api#documentation": "

Indicates whether the DB instance is publicly accessible.

\n

When the DB cluster is publicly accessible, its Domain Name System (DNS) endpoint\n resolves to the private IP address from within the DB cluster's virtual private cloud\n (VPC). It resolves to the public IP address from outside of the DB cluster's VPC. Access\n to the DB cluster is ultimately controlled by the security group it uses. That public\n access isn't permitted if the security group assigned to the DB cluster doesn't permit\n it.

\n

When the DB instance isn't publicly accessible, it is an internal DB instance with a DNS name that resolves to a private IP address.

\n

For more information, see CreateDBInstance.

" + "smithy.api#documentation": "

Indicates whether the DB instance is publicly accessible.

\n

When the DB instance is publicly accessible and you connect from outside of the DB instance's virtual private cloud (VPC), \n its Domain Name System (DNS) endpoint resolves to the public IP address. When you connect from within the same VPC as the DB instance, \n the endpoint resolves to the private IP address. Access to the DB cluster is ultimately controlled by the security group it uses. That public\n access isn't permitted if the security group assigned to the DB cluster doesn't permit it.

\n

When the DB instance isn't publicly accessible, it is an internal DB instance with a DNS name that resolves to a private IP address.

\n

For more information, see CreateDBInstance.

" } }, "StatusInfos": { @@ -12149,7 +12149,7 @@ "DeleteAutomatedBackups": { "target": "com.amazonaws.rds#BooleanOptional", "traits": { - "smithy.api#documentation": "

Specifies whether to remove automated backups immediately after the DB\n cluster is deleted. This parameter isn't case-sensitive. The default is to remove \n automated backups immediately after the DB cluster is deleted.

" + "smithy.api#documentation": "

Specifies whether to remove automated backups immediately after the DB\n cluster is deleted. This parameter isn't case-sensitive. The default is to remove \n automated backups immediately after the DB cluster is deleted.\n

\n \n

You must delete automated backups for Amazon RDS Multi-AZ DB clusters. For more information about managing automated backups for RDS Multi-AZ DB clusters, see Managing automated backups.

\n
" } } }, @@ -13909,7 +13909,7 @@ "Source": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

A specific source to return parameters for.

\n

Valid Values:

\n " + "smithy.api#documentation": "

A specific source to return parameters for.

\n

Valid Values:

\n " } }, "Filters": { @@ -17513,7 +17513,7 @@ } ], "traits": { - "smithy.api#documentation": "

Returns a list of resources (for example, DB instances) that have at least one pending maintenance action.

", + "smithy.api#documentation": "

Returns a list of resources (for example, DB instances) that have at least one pending maintenance action.

\n

This API follows an eventual consistency model. This means that the result of the\n DescribePendingMaintenanceActions command might not be immediately\n visible to all subsequent RDS commands. Keep this in mind when you use\n DescribePendingMaintenanceActions immediately after using a previous\n API command such as ApplyPendingMaintenanceActions.

", "smithy.api#examples": [ { "title": "To list resources with at least one pending maintenance action", @@ -22312,7 +22312,7 @@ "PubliclyAccessible": { "target": "com.amazonaws.rds#BooleanOptional", "traits": { - "smithy.api#documentation": "

Specifies whether the DB instance is publicly accessible.

\n

When the DB cluster is publicly accessible, its Domain Name System (DNS) endpoint\n resolves to the private IP address from within the DB cluster's virtual private cloud\n (VPC). It resolves to the public IP address from outside of the DB cluster's VPC. Access\n to the DB cluster is ultimately controlled by the security group it uses. That public\n access isn't permitted if the security group assigned to the DB cluster doesn't permit\n it.

\n

When the DB instance isn't publicly accessible, it is an internal DB instance with a DNS name that resolves to a private IP address.

\n

\n PubliclyAccessible only applies to DB instances in a VPC. The DB instance must be part of a \n public subnet and PubliclyAccessible must be enabled for it to be publicly accessible.

\n

Changes to the PubliclyAccessible parameter are applied immediately regardless\n of the value of the ApplyImmediately parameter.

" + "smithy.api#documentation": "

Specifies whether the DB instance is publicly accessible.

\n

When the DB instance is publicly accessible and you connect from outside of the DB instance's virtual private cloud (VPC), \n its Domain Name System (DNS) endpoint resolves to the public IP address. When you connect from within the same VPC as the DB instance, \n the endpoint resolves to the private IP address. Access to the DB instance is ultimately controlled by the security group it uses. That public\n access isn't permitted if the security group assigned to the DB instance doesn't permit it.

\n

When the DB instance isn't publicly accessible, it is an internal DB instance with a DNS name that resolves to a private IP address.

\n

\n PubliclyAccessible only applies to DB instances in a VPC. The DB instance must be part of a \n public subnet and PubliclyAccessible must be enabled for it to be publicly accessible.

\n

Changes to the PubliclyAccessible parameter are applied immediately regardless\n of the value of the ApplyImmediately parameter.

" } }, "MonitoringRoleArn": { diff --git a/aws-models/sagemaker.json b/aws-models/sagemaker.json index b27846a9ecd9..09b64b049f5c 100644 --- a/aws-models/sagemaker.json +++ b/aws-models/sagemaker.json @@ -51512,6 +51512,102 @@ "traits": { "smithy.api#enumValue": "ml.g4dn.16xlarge" } + }, + "ML_G5_XLARGE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ml.g5.xlarge" + } + }, + "ML_G5_2XLARGE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ml.g5.2xlarge" + } + }, + "ML_G5_4XLARGE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ml.g5.4xlarge" + } + }, + "ML_G5_8XLARGE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ml.g5.8xlarge" + } + }, + "ML_G5_16XLARGE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ml.g5.16xlarge" + } + }, + "ML_G5_12XLARGE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ml.g5.12xlarge" + } + }, + "ML_G5_24XLARGE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ml.g5.24xlarge" + } + }, + "ML_G5_48XLARGE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ml.g5.48xlarge" + } + }, + "ML_R5D_LARGE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ml.r5d.large" + } + }, + "ML_R5D_XLARGE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ml.r5d.xlarge" + } + }, + "ML_R5D_2XLARGE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ml.r5d.2xlarge" + } + }, + "ML_R5D_4XLARGE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ml.r5d.4xlarge" + } + }, + "ML_R5D_8XLARGE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ml.r5d.8xlarge" + } + }, + "ML_R5D_12XLARGE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ml.r5d.12xlarge" + } + }, + "ML_R5D_16XLARGE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ml.r5d.16xlarge" + } + }, + "ML_R5D_24XLARGE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ml.r5d.24xlarge" + } } } }, @@ -64131,6 +64227,126 @@ "traits": { "smithy.api#enumValue": "ml.c6i.32xlarge" } + }, + "ML_R5D_LARGE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ml.r5d.large" + } + }, + "ML_R5D_XLARGE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ml.r5d.xlarge" + } + }, + "ML_R5D_2XLARGE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ml.r5d.2xlarge" + } + }, + "ML_R5D_4XLARGE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ml.r5d.4xlarge" + } + }, + "ML_R5D_8XLARGE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ml.r5d.8xlarge" + } + }, + "ML_R5D_12XLARGE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ml.r5d.12xlarge" + } + }, + "ML_R5D_16XLARGE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ml.r5d.16xlarge" + } + }, + "ML_R5D_24XLARGE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ml.r5d.24xlarge" + } + }, + "ML_T3_MEDIUM": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ml.t3.medium" + } + }, + "ML_T3_LARGE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ml.t3.large" + } + }, + "ML_T3_XLARGE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ml.t3.xlarge" + } + }, + "ML_T3_2XLARGE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ml.t3.2xlarge" + } + }, + "ML_R5_LARGE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ml.r5.large" + } + }, + "ML_R5_XLARGE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ml.r5.xlarge" + } + }, + "ML_R5_2XLARGE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ml.r5.2xlarge" + } + }, + "ML_R5_4XLARGE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ml.r5.4xlarge" + } + }, + "ML_R5_8XLARGE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ml.r5.8xlarge" + } + }, + "ML_R5_12XLARGE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ml.r5.12xlarge" + } + }, + "ML_R5_16XLARGE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ml.r5.16xlarge" + } + }, + "ML_R5_24XLARGE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ml.r5.24xlarge" + } } } }, diff --git a/aws-models/sdk-endpoints.json b/aws-models/sdk-endpoints.json index 1c2a7de7aecf..de4927d664d9 100644 --- a/aws-models/sdk-endpoints.json +++ b/aws-models/sdk-endpoints.json @@ -7586,6 +7586,7 @@ } ] }, "eu-central-1" : { }, + "eu-central-2" : { }, "eu-north-1" : { }, "eu-south-1" : { }, "eu-south-2" : { }, @@ -13164,6 +13165,7 @@ "tags" : [ "fips" ] } ] }, + "ca-west-1" : { }, "eu-central-1" : { }, "eu-central-2" : { }, "eu-north-1" : { }, @@ -14315,6 +14317,12 @@ }, "hostname" : "portal.sso.ca-central-1.amazonaws.com" }, + "ca-west-1" : { + "credentialScope" : { + "region" : "ca-west-1" + }, + "hostname" : "portal.sso.ca-west-1.amazonaws.com" + }, "eu-central-1" : { "credentialScope" : { "region" : "eu-central-1" @@ -19599,6 +19607,18 @@ "us-west-2" : { } } }, + "tax" : { + "endpoints" : { + "aws-global" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "hostname" : "tax.us-east-1.amazonaws.com" + } + }, + "isRegionalized" : false, + "partitionEndpoint" : "aws-global" + }, "textract" : { "endpoints" : { "ap-northeast-2" : { @@ -24452,17 +24472,31 @@ }, "directconnect" : { "endpoints" : { - "us-gov-east-1" : { + "fips-us-gov-east-1" : { "credentialScope" : { "region" : "us-gov-east-1" }, - "hostname" : "directconnect.us-gov-east-1.amazonaws.com" + "deprecated" : true, + "hostname" : "directconnect-fips.us-gov-east-1.amazonaws.com" }, - "us-gov-west-1" : { + "fips-us-gov-west-1" : { "credentialScope" : { "region" : "us-gov-west-1" }, - "hostname" : "directconnect.us-gov-west-1.amazonaws.com" + "deprecated" : true, + "hostname" : "directconnect-fips.us-gov-west-1.amazonaws.com" + }, + "us-gov-east-1" : { + "variants" : [ { + "hostname" : "directconnect-fips.us-gov-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-gov-west-1" : { + "variants" : [ { + "hostname" : "directconnect-fips.us-gov-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] } } }, diff --git a/aws-models/secrets-manager.json b/aws-models/secrets-manager.json index 7a89a0443d20..831a88fc1785 100644 --- a/aws-models/secrets-manager.json +++ b/aws-models/secrets-manager.json @@ -360,7 +360,7 @@ } ], "traits": { - "smithy.api#documentation": "

Creates a new secret. A secret can be a password, a set of \n credentials such as a user name and password, an OAuth token, or other secret information \n that you store in an encrypted form in Secrets Manager. The secret also \n includes the connection information to access a database or other service, which Secrets Manager \n doesn't encrypt. A secret in Secrets Manager consists of both the protected secret data and the\n important information needed to manage the secret.

\n

For secrets that use managed rotation, you need to create the secret through the managing service. For more information, see Secrets Manager secrets managed by other Amazon Web Services services.\n\n

\n

For information about creating a secret in the console, see Create a secret.

\n

To create a secret, you can provide the secret value to be encrypted in either the\n SecretString parameter or the SecretBinary parameter, but not both. \n If you include SecretString or SecretBinary\n then Secrets Manager creates an initial secret version and automatically attaches the staging\n label AWSCURRENT to it.

\n

For database credentials you want to rotate, for Secrets Manager to be able to rotate the secret,\n you must make sure the JSON you store in the SecretString matches the JSON structure of\n a database secret.

\n

If you don't specify an KMS encryption key, Secrets Manager uses the Amazon Web Services managed key \n aws/secretsmanager. If this key \n doesn't already exist in your account, then Secrets Manager creates it for you automatically. All\n users and roles in the Amazon Web Services account automatically have access to use aws/secretsmanager. \n Creating aws/secretsmanager can result in a one-time significant delay in returning the \n result.

\n

If the secret is in a different Amazon Web Services account from the credentials calling the API, then \n you can't use aws/secretsmanager to encrypt the secret, and you must create \n and use a customer managed KMS key.

\n

Secrets Manager generates a CloudTrail log entry when you call this action. Do not include sensitive information in request parameters except SecretBinary or SecretString because it might be logged. For more information, see Logging Secrets Manager events with CloudTrail.

\n

\n Required permissions: \n secretsmanager:CreateSecret. If you \n include tags in the secret, you also need secretsmanager:TagResource. To add replica Regions, you must also have secretsmanager:ReplicateSecretToRegions.\n For more information, see \n IAM policy actions for Secrets Manager and Authentication \n and access control in Secrets Manager.

\n

To encrypt the secret with a KMS key other than aws/secretsmanager, you need kms:GenerateDataKey and kms:Decrypt permission to the key.

", + "smithy.api#documentation": "

Creates a new secret. A secret can be a password, a set of \n credentials such as a user name and password, an OAuth token, or other secret information \n that you store in an encrypted form in Secrets Manager. The secret also \n includes the connection information to access a database or other service, which Secrets Manager \n doesn't encrypt. A secret in Secrets Manager consists of both the protected secret data and the\n important information needed to manage the secret.

\n

For secrets that use managed rotation, you need to create the secret through the managing service. For more information, see Secrets Manager secrets managed by other Amazon Web Services services.\n\n

\n

For information about creating a secret in the console, see Create a secret.

\n

To create a secret, you can provide the secret value to be encrypted in either the\n SecretString parameter or the SecretBinary parameter, but not both. \n If you include SecretString or SecretBinary\n then Secrets Manager creates an initial secret version and automatically attaches the staging\n label AWSCURRENT to it.

\n

For database credentials you want to rotate, for Secrets Manager to be able to rotate the secret,\n you must make sure the JSON you store in the SecretString matches the JSON structure of\n a database secret.

\n

If you don't specify an KMS encryption key, Secrets Manager uses the Amazon Web Services managed key \n aws/secretsmanager. If this key \n doesn't already exist in your account, then Secrets Manager creates it for you automatically. All\n users and roles in the Amazon Web Services account automatically have access to use aws/secretsmanager. \n Creating aws/secretsmanager can result in a one-time significant delay in returning the \n result.

\n

If the secret is in a different Amazon Web Services account from the credentials calling the API, then \n you can't use aws/secretsmanager to encrypt the secret, and you must create \n and use a customer managed KMS key.

\n

Secrets Manager generates a CloudTrail log entry when you call this action. Do not include sensitive information in request parameters except SecretBinary or SecretString because it might be logged. For more information, see Logging Secrets Manager events with CloudTrail.

\n

\n Required permissions: \n secretsmanager:CreateSecret. If you \n include tags in the secret, you also need secretsmanager:TagResource. To add replica Regions, you must also have secretsmanager:ReplicateSecretToRegions.\n For more information, see \n IAM policy actions for Secrets Manager and Authentication \n and access control in Secrets Manager.

\n

To encrypt the secret with a KMS key other than aws/secretsmanager, you need kms:GenerateDataKey and kms:Decrypt permission to the key.

\n \n

When you enter commands in a command shell, there is a risk of the command history being accessed or utilities having access to your command parameters. This is a concern if the command includes the value of a secret. Learn how to Mitigate the risks of using command-line tools to store Secrets Manager secrets.

\n
", "smithy.api#examples": [ { "title": "To create a basic secret", @@ -1901,7 +1901,7 @@ } ], "traits": { - "smithy.api#documentation": "

Creates a new version with a new encrypted secret value and attaches it to the secret. The \n version can contain a new SecretString value or a new SecretBinary value.

\n

We recommend you avoid calling PutSecretValue at a sustained rate of more than \n once every 10 minutes. When you update the secret value, Secrets Manager creates a new version \n of the secret. Secrets Manager removes outdated versions when there are more than 100, but it does not \n remove versions created less than 24 hours ago. If you call PutSecretValue more \n than once every 10 minutes, you create more versions than Secrets Manager removes, and you will reach \n the quota for secret versions.

\n

You can specify the staging labels to attach to the new version in VersionStages. \n If you don't include VersionStages, then Secrets Manager automatically\n moves the staging label AWSCURRENT to this version. If this operation creates \n the first version for the secret, then Secrets Manager\n automatically attaches the staging label AWSCURRENT to it. \n If this operation moves the staging label AWSCURRENT from another version to this\n version, then Secrets Manager also automatically moves the staging label AWSPREVIOUS to\n the version that AWSCURRENT was removed from.

\n

This operation is idempotent. If you call this operation with a ClientRequestToken \n that matches an existing version's VersionId, and you specify the\n same secret data, the operation succeeds but does nothing. However, if the secret data is\n different, then the operation fails because you can't modify an existing version; you can\n only create new ones.

\n

Secrets Manager generates a CloudTrail log entry when you call this action. Do not include sensitive information in request parameters except SecretBinary, SecretString, or RotationToken because it might be logged. For more information, see Logging Secrets Manager events with CloudTrail.

\n

\n Required permissions: \n secretsmanager:PutSecretValue. \n For more information, see \n IAM policy actions for Secrets Manager and Authentication \n and access control in Secrets Manager.

", + "smithy.api#documentation": "

Creates a new version with a new encrypted secret value and attaches it to the secret. The \n version can contain a new SecretString value or a new SecretBinary value.

\n

We recommend you avoid calling PutSecretValue at a sustained rate of more than \n once every 10 minutes. When you update the secret value, Secrets Manager creates a new version \n of the secret. Secrets Manager removes outdated versions when there are more than 100, but it does not \n remove versions created less than 24 hours ago. If you call PutSecretValue more \n than once every 10 minutes, you create more versions than Secrets Manager removes, and you will reach \n the quota for secret versions.

\n

You can specify the staging labels to attach to the new version in VersionStages. \n If you don't include VersionStages, then Secrets Manager automatically\n moves the staging label AWSCURRENT to this version. If this operation creates \n the first version for the secret, then Secrets Manager\n automatically attaches the staging label AWSCURRENT to it. \n If this operation moves the staging label AWSCURRENT from another version to this\n version, then Secrets Manager also automatically moves the staging label AWSPREVIOUS to\n the version that AWSCURRENT was removed from.

\n

This operation is idempotent. If you call this operation with a ClientRequestToken \n that matches an existing version's VersionId, and you specify the\n same secret data, the operation succeeds but does nothing. However, if the secret data is\n different, then the operation fails because you can't modify an existing version; you can\n only create new ones.

\n

Secrets Manager generates a CloudTrail log entry when you call this action. Do not include sensitive information in request parameters except SecretBinary, SecretString, or RotationToken because it might be logged. For more information, see Logging Secrets Manager events with CloudTrail.

\n

\n Required permissions: \n secretsmanager:PutSecretValue. \n For more information, see \n IAM policy actions for Secrets Manager and Authentication \n and access control in Secrets Manager.

\n \n

When you enter commands in a command shell, there is a risk of the command history being accessed or utilities having access to your command parameters. This is a concern if the command includes the value of a secret. Learn how to Mitigate the risks of using command-line tools to store Secrets Manager secrets.

\n
", "smithy.api#examples": [ { "title": "To store a secret value in a new version of a secret", @@ -3201,8 +3201,21 @@ } ], "traits": { - "smithy.api#documentation": "

Modifies the details of a secret, including metadata and the secret value. To change the secret value, you can also use PutSecretValue.

\n

To change the rotation configuration of a secret, use RotateSecret instead.

\n

To change a secret so that it is managed by another service, you need to recreate the secret in that service. See Secrets Manager secrets managed by other Amazon Web Services services.

\n

We recommend you avoid calling UpdateSecret at a sustained rate of more than \n once every 10 minutes. When you call UpdateSecret to update the secret value, Secrets Manager creates a new version \n of the secret. Secrets Manager removes outdated versions when there are more than 100, but it does not \n remove versions created less than 24 hours ago. If you update the secret value more \n than once every 10 minutes, you create more versions than Secrets Manager removes, and you will reach \n the quota for secret versions.

\n

If you include SecretString or SecretBinary to create a new\n secret version, Secrets Manager automatically moves the staging label AWSCURRENT to the new\n version. Then it attaches the label AWSPREVIOUS\n to the version that AWSCURRENT was removed from.

\n

If you call this operation with a ClientRequestToken that matches an existing version's \n VersionId, the operation results in an error. You can't modify an existing \n version, you can only create a new version. To remove a version, remove all staging labels from it. See \n UpdateSecretVersionStage.

\n

Secrets Manager generates a CloudTrail log entry when you call this action. Do not include sensitive information in request parameters except SecretBinary or SecretString because it might be logged. For more information, see Logging Secrets Manager events with CloudTrail.

\n

\n Required permissions: \n secretsmanager:UpdateSecret. \n For more information, see \n IAM policy actions for Secrets Manager and Authentication \n and access control in Secrets Manager. \n If you use a customer managed key, you must also have kms:GenerateDataKey, kms:Encrypt, and \n kms:Decrypt permissions on the key. If you change the KMS key and you don't have kms:Encrypt permission to the new key, Secrets Manager does not re-ecrypt existing secret versions with the new key. For more information, see \n Secret encryption and decryption.

", + "smithy.api#documentation": "

Modifies the details of a secret, including metadata and the secret value. To change the secret value, you can also use PutSecretValue.

\n

To change the rotation configuration of a secret, use RotateSecret instead.

\n

To change a secret so that it is managed by another service, you need to recreate the secret in that service. See Secrets Manager secrets managed by other Amazon Web Services services.

\n

We recommend you avoid calling UpdateSecret at a sustained rate of more than \n once every 10 minutes. When you call UpdateSecret to update the secret value, Secrets Manager creates a new version \n of the secret. Secrets Manager removes outdated versions when there are more than 100, but it does not \n remove versions created less than 24 hours ago. If you update the secret value more \n than once every 10 minutes, you create more versions than Secrets Manager removes, and you will reach \n the quota for secret versions.

\n

If you include SecretString or SecretBinary to create a new\n secret version, Secrets Manager automatically moves the staging label AWSCURRENT to the new\n version. Then it attaches the label AWSPREVIOUS\n to the version that AWSCURRENT was removed from.

\n

If you call this operation with a ClientRequestToken that matches an existing version's \n VersionId, the operation results in an error. You can't modify an existing \n version, you can only create a new version. To remove a version, remove all staging labels from it. See \n UpdateSecretVersionStage.

\n

Secrets Manager generates a CloudTrail log entry when you call this action. Do not include sensitive information in request parameters except SecretBinary or SecretString because it might be logged. For more information, see Logging Secrets Manager events with CloudTrail.

\n

\n Required permissions: \n secretsmanager:UpdateSecret. \n For more information, see \n IAM policy actions for Secrets Manager and Authentication \n and access control in Secrets Manager. \n If you use a customer managed key, you must also have kms:GenerateDataKey, kms:Encrypt, and \n kms:Decrypt permissions on the key. If you change the KMS key and you don't have kms:Encrypt permission to the new key, Secrets Manager does not re-encrypt existing secret versions with the new key. For more information, see \n Secret encryption and decryption.

\n \n

When you enter commands in a command shell, there is a risk of the command history being accessed or utilities having access to your command parameters. This is a concern if the command includes the value of a secret. Learn how to Mitigate the risks of using command-line tools to store Secrets Manager secrets.

\n
", "smithy.api#examples": [ + { + "title": "To create a new version of the encrypted secret value", + "documentation": "The following example shows how to create a new version of the secret by updating the SecretString field. Alternatively, you can use the put-secret-value operation.", + "input": { + "SecretId": "MyTestDatabaseSecret", + "SecretString": "{JSON STRING WITH CREDENTIALS}" + }, + "output": { + "ARN": "aws:arn:secretsmanager:us-west-2:123456789012:secret:MyTestDatabaseSecret-a1b2c3", + "Name": "MyTestDatabaseSecret", + "VersionId": "EXAMPLE1-90ab-cdef-fedc-ba987EXAMPLE" + } + }, { "title": "To update the description of a secret", "documentation": "The following example shows how to modify the description of a secret.", @@ -3227,19 +3240,6 @@ "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyTestDatabaseSecret-a1b2c3", "Name": "MyTestDatabaseSecret" } - }, - { - "title": "To create a new version of the encrypted secret value", - "documentation": "The following example shows how to create a new version of the secret by updating the SecretString field. Alternatively, you can use the put-secret-value operation.", - "input": { - "SecretId": "MyTestDatabaseSecret", - "SecretString": "{JSON STRING WITH CREDENTIALS}" - }, - "output": { - "ARN": "aws:arn:secretsmanager:us-west-2:123456789012:secret:MyTestDatabaseSecret-a1b2c3", - "Name": "MyTestDatabaseSecret", - "VersionId": "EXAMPLE1-90ab-cdef-fedc-ba987EXAMPLE" - } } ] } @@ -3270,7 +3270,7 @@ "KmsKeyId": { "target": "com.amazonaws.secretsmanager#KmsKeyIdType", "traits": { - "smithy.api#documentation": "

The ARN, key ID, or alias of the KMS key that Secrets Manager \n uses to encrypt new secret versions as well as any existing versions with the staging labels \n AWSCURRENT, AWSPENDING, or AWSPREVIOUS. If you don't have kms:Encrypt permission to the new key, Secrets Manager does not re-ecrypt existing secret versions with the new key. For more information about versions and staging labels, see Concepts: Version.

\n

A key alias is always prefixed by alias/, for example alias/aws/secretsmanager.\n For more information, see About aliases.

\n

If you set this to an empty string, Secrets Manager uses the Amazon Web Services managed key \n aws/secretsmanager. If this key doesn't already exist in your account, then Secrets Manager \n creates it for you automatically. All users and roles in the Amazon Web Services account automatically have access \n to use aws/secretsmanager. Creating aws/secretsmanager can result in a one-time \n significant delay in returning the result.

\n \n

You can only use the Amazon Web Services managed key aws/secretsmanager if you call this\n operation using credentials from the same Amazon Web Services account that owns the secret. If the secret is in\n a different account, then you must use a customer managed key and provide the ARN of that KMS key in\n this field. The user making the call must have permissions to both the secret and the KMS key in\n their respective accounts.

\n
" + "smithy.api#documentation": "

The ARN, key ID, or alias of the KMS key that Secrets Manager \n uses to encrypt new secret versions as well as any existing versions with the staging labels \n AWSCURRENT, AWSPENDING, or AWSPREVIOUS. If you don't have kms:Encrypt permission to the new key, Secrets Manager does not re-encrypt existing secret versions with the new key. For more information about versions and staging labels, see Concepts: Version.

\n

A key alias is always prefixed by alias/, for example alias/aws/secretsmanager.\n For more information, see About aliases.

\n

If you set this to an empty string, Secrets Manager uses the Amazon Web Services managed key \n aws/secretsmanager. If this key doesn't already exist in your account, then Secrets Manager \n creates it for you automatically. All users and roles in the Amazon Web Services account automatically have access \n to use aws/secretsmanager. Creating aws/secretsmanager can result in a one-time \n significant delay in returning the result.

\n \n

You can only use the Amazon Web Services managed key aws/secretsmanager if you call this\n operation using credentials from the same Amazon Web Services account that owns the secret. If the secret is in\n a different account, then you must use a customer managed key and provide the ARN of that KMS key in\n this field. The user making the call must have permissions to both the secret and the KMS key in\n their respective accounts.

\n
" } }, "SecretBinary": { diff --git a/aws-models/taxsettings.json b/aws-models/taxsettings.json index 35348647de16..91e913db6671 100644 --- a/aws-models/taxsettings.json +++ b/aws-models/taxsettings.json @@ -2280,18 +2280,15 @@ "aws.auth#sigv4": { "name": "tax" }, + "aws.endpoints#standardPartitionalEndpoints": { + "endpointPatternType": "service_region_dnsSuffix" + }, "aws.protocols#restJson1": {}, "smithy.api#documentation": "

You can use the tax setting API to programmatically set, modify, and delete the tax\n registration number (TRN), associated business legal name, and address (Collectively referred\n to as \"TRN information\"). You can also programmatically view TRN information and tax addresses\n (\"Tax profiles\").

\n

You can use this API to automate your TRN information settings instead of manually using\n the console.

\n

Service Endpoint

\n ", "smithy.api#title": "Tax Settings", "smithy.rules#endpointRuleSet": { "version": "1.0", "parameters": { - "Region": { - "builtIn": "AWS::Region", - "required": false, - "documentation": "The AWS region used to dispatch the request.", - "type": "String" - }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, @@ -2311,6 +2308,12 @@ "required": false, "documentation": "Override the endpoint used to send this request", "type": "String" + }, + "Region": { + "builtIn": "AWS::Region", + "required": false, + "documentation": "The AWS region used to dispatch the request.", + "type": "String" } }, "rules": [ @@ -2462,18 +2465,19 @@ "rules": [ { "conditions": [], - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://tax-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ], - "type": "tree" + "endpoint": { + "url": "https://tax-fips.{PartitionResult#implicitGlobalRegion}.{PartitionResult#dualStackDnsSuffix}", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "{PartitionResult#implicitGlobalRegion}" + } + ] + }, + "headers": {} + }, + "type": "endpoint" } ], "type": "tree" @@ -2496,6 +2500,15 @@ }, true ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + false + ] } ], "rules": [ @@ -2520,18 +2533,19 @@ "rules": [ { "conditions": [], - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://tax-fips.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ], - "type": "tree" + "endpoint": { + "url": "https://tax-fips.{PartitionResult#implicitGlobalRegion}.{PartitionResult#dnsSuffix}", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "{PartitionResult#implicitGlobalRegion}" + } + ] + }, + "headers": {} + }, + "type": "endpoint" } ], "type": "tree" @@ -2546,6 +2560,15 @@ }, { "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + false + ] + }, { "fn": "booleanEquals", "argv": [ @@ -2578,18 +2601,19 @@ "rules": [ { "conditions": [], - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://tax.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ], - "type": "tree" + "endpoint": { + "url": "https://tax.{PartitionResult#implicitGlobalRegion}.{PartitionResult#dualStackDnsSuffix}", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "{PartitionResult#implicitGlobalRegion}" + } + ] + }, + "headers": {} + }, + "type": "endpoint" } ], "type": "tree" @@ -2604,18 +2628,19 @@ }, { "conditions": [], - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://tax.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ], - "type": "tree" + "endpoint": { + "url": "https://tax.{PartitionResult#implicitGlobalRegion}.{PartitionResult#dnsSuffix}", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "{PartitionResult#implicitGlobalRegion}" + } + ] + }, + "headers": {} + }, + "type": "endpoint" } ], "type": "tree" @@ -2635,10 +2660,51 @@ }, "smithy.rules#endpointTests": { "testCases": [ + { + "documentation": "For custom endpoint with region not set and fips disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "Endpoint": "https://example.com", + "UseFIPS": false + } + }, + { + "documentation": "For custom endpoint with fips enabled", + "expect": { + "error": "Invalid Configuration: FIPS and custom endpoint are not supported" + }, + "params": { + "Endpoint": "https://example.com", + "UseFIPS": true + } + }, + { + "documentation": "For custom endpoint with fips disabled and dualstack enabled", + "expect": { + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" + }, + "params": { + "Endpoint": "https://example.com", + "UseFIPS": false, + "UseDualStack": true + } + }, { "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "us-east-1" + } + ] + }, "url": "https://tax-fips.us-east-1.api.aws" } }, @@ -2652,6 +2718,14 @@ "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "us-east-1" + } + ] + }, "url": "https://tax-fips.us-east-1.amazonaws.com" } }, @@ -2665,6 +2739,14 @@ "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "us-east-1" + } + ] + }, "url": "https://tax.us-east-1.api.aws" } }, @@ -2678,6 +2760,14 @@ "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "us-east-1" + } + ] + }, "url": "https://tax.us-east-1.amazonaws.com" } }, @@ -2688,105 +2778,169 @@ } }, { - "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", + "documentation": "For region cn-northwest-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://tax-fips.cn-north-1.api.amazonwebservices.com.cn" + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "cn-northwest-1" + } + ] + }, + "url": "https://tax-fips.cn-northwest-1.api.amazonwebservices.com.cn" } }, "params": { - "Region": "cn-north-1", + "Region": "cn-northwest-1", "UseFIPS": true, "UseDualStack": true } }, { - "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", + "documentation": "For region cn-northwest-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://tax-fips.cn-north-1.amazonaws.com.cn" + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "cn-northwest-1" + } + ] + }, + "url": "https://tax-fips.cn-northwest-1.amazonaws.com.cn" } }, "params": { - "Region": "cn-north-1", + "Region": "cn-northwest-1", "UseFIPS": true, "UseDualStack": false } }, { - "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", + "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://tax.cn-north-1.api.amazonwebservices.com.cn" + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "cn-northwest-1" + } + ] + }, + "url": "https://tax.cn-northwest-1.api.amazonwebservices.com.cn" } }, "params": { - "Region": "cn-north-1", + "Region": "cn-northwest-1", "UseFIPS": false, "UseDualStack": true } }, { - "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", + "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://tax.cn-north-1.amazonaws.com.cn" + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "cn-northwest-1" + } + ] + }, + "url": "https://tax.cn-northwest-1.amazonaws.com.cn" } }, "params": { - "Region": "cn-north-1", + "Region": "cn-northwest-1", "UseFIPS": false, "UseDualStack": false } }, { - "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://tax-fips.us-gov-east-1.api.aws" + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "us-gov-west-1" + } + ] + }, + "url": "https://tax-fips.us-gov-west-1.api.aws" } }, "params": { - "Region": "us-gov-east-1", + "Region": "us-gov-west-1", "UseFIPS": true, "UseDualStack": true } }, { - "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://tax-fips.us-gov-east-1.amazonaws.com" + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "us-gov-west-1" + } + ] + }, + "url": "https://tax-fips.us-gov-west-1.amazonaws.com" } }, "params": { - "Region": "us-gov-east-1", + "Region": "us-gov-west-1", "UseFIPS": true, "UseDualStack": false } }, { - "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://tax.us-gov-east-1.api.aws" + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "us-gov-west-1" + } + ] + }, + "url": "https://tax.us-gov-west-1.api.aws" } }, "params": { - "Region": "us-gov-east-1", + "Region": "us-gov-west-1", "UseFIPS": false, "UseDualStack": true } }, { - "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://tax.us-gov-east-1.amazonaws.com" + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "us-gov-west-1" + } + ] + }, + "url": "https://tax.us-gov-west-1.amazonaws.com" } }, "params": { - "Region": "us-gov-east-1", + "Region": "us-gov-west-1", "UseFIPS": false, "UseDualStack": false } @@ -2806,6 +2960,14 @@ "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "us-iso-east-1" + } + ] + }, "url": "https://tax-fips.us-iso-east-1.c2s.ic.gov" } }, @@ -2830,6 +2992,14 @@ "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "us-iso-east-1" + } + ] + }, "url": "https://tax.us-iso-east-1.c2s.ic.gov" } }, @@ -2854,6 +3024,14 @@ "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "us-isob-east-1" + } + ] + }, "url": "https://tax-fips.us-isob-east-1.sc2s.sgov.gov" } }, @@ -2878,6 +3056,14 @@ "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "us-isob-east-1" + } + ] + }, "url": "https://tax.us-isob-east-1.sc2s.sgov.gov" } }, @@ -2888,54 +3074,131 @@ } }, { - "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", + "documentation": "For region eu-isoe-west-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "eu-isoe-west-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region eu-isoe-west-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://example.com" + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "eu-isoe-west-1" + } + ] + }, + "url": "https://tax-fips.eu-isoe-west-1.cloud.adc-e.uk" } }, "params": { - "Region": "us-east-1", + "Region": "eu-isoe-west-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region eu-isoe-west-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "eu-isoe-west-1", "UseFIPS": false, - "UseDualStack": false, - "Endpoint": "https://example.com" + "UseDualStack": true } }, { - "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled", + "documentation": "For region eu-isoe-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://example.com" + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "eu-isoe-west-1" + } + ] + }, + "url": "https://tax.eu-isoe-west-1.cloud.adc-e.uk" } }, "params": { + "Region": "eu-isoe-west-1", "UseFIPS": false, - "UseDualStack": false, - "Endpoint": "https://example.com" + "UseDualStack": false } }, { - "documentation": "For custom endpoint with fips enabled and dualstack disabled", + "documentation": "For region us-isof-south-1 with FIPS enabled and DualStack enabled", "expect": { - "error": "Invalid Configuration: FIPS and custom endpoint are not supported" + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "Region": "us-east-1", + "Region": "us-isof-south-1", "UseFIPS": true, - "UseDualStack": false, - "Endpoint": "https://example.com" + "UseDualStack": true } }, { - "documentation": "For custom endpoint with fips disabled and dualstack enabled", + "documentation": "For region us-isof-south-1 with FIPS enabled and DualStack disabled", "expect": { - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" + "endpoint": { + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "us-isof-south-1" + } + ] + }, + "url": "https://tax-fips.us-isof-south-1.csp.hci.ic.gov" + } }, "params": { - "Region": "us-east-1", + "Region": "us-isof-south-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isof-south-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-isof-south-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isof-south-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "us-isof-south-1" + } + ] + }, + "url": "https://tax.us-isof-south-1.csp.hci.ic.gov" + } + }, + "params": { + "Region": "us-isof-south-1", "UseFIPS": false, - "UseDualStack": true, - "Endpoint": "https://example.com" + "UseDualStack": false } }, { diff --git a/aws-models/timestream-query.json b/aws-models/timestream-query.json index 720ffb356069..e5c96b610605 100644 --- a/aws-models/timestream-query.json +++ b/aws-models/timestream-query.json @@ -3238,7 +3238,7 @@ "QueryPricingModel": { "target": "com.amazonaws.timestreamquery#QueryPricingModel", "traits": { - "smithy.api#documentation": "

The pricing model for queries in an account.

" + "smithy.api#documentation": "

The pricing model for queries in an account.

\n \n

The QueryPricingModel parameter is used by several Timestream operations; however, the UpdateAccountSettings API operation doesn't recognize any values other than COMPUTE_UNITS.

\n
" } } }, diff --git a/aws-models/workspaces-thin-client.json b/aws-models/workspaces-thin-client.json index 20322a9b476b..aa00d2b127d9 100644 --- a/aws-models/workspaces-thin-client.json +++ b/aws-models/workspaces-thin-client.json @@ -996,7 +996,7 @@ "deviceCreationTags": { "target": "com.amazonaws.workspacesthinclient#DeviceCreationTagsMap", "traits": { - "smithy.api#documentation": "

\"The tag keys and optional values for the newly created devices for this environment.\"

" + "smithy.api#documentation": "

The tag keys and optional values for the newly created devices for this environment.

" } } }, diff --git a/examples/examples/aurora/Cargo.toml b/examples/examples/aurora/Cargo.toml index e8dfd05bb55c..d572fc459046 100644 --- a/examples/examples/aurora/Cargo.toml +++ b/examples/examples/aurora/Cargo.toml @@ -16,7 +16,7 @@ tracing = "0.1.37" aws-config= { version = "1.5.4", path = "../../../sdk/aws-config", features = ["behavior-version-latest"] } aws-smithy-types= { version = "1.2.0", path = "../../../sdk/aws-smithy-types" } aws-smithy-runtime-api= { version = "1.7.1", path = "../../../sdk/aws-smithy-runtime-api" } -aws-sdk-rds= { version = "1.45.0", path = "../../../sdk/rds" } +aws-sdk-rds= { version = "1.45.1", path = "../../../sdk/rds" } [dependencies.phf] version = "0.11.2" diff --git a/examples/examples/auto-scaling/Cargo.toml b/examples/examples/auto-scaling/Cargo.toml index 66438629f4f6..782a645251a0 100644 --- a/examples/examples/auto-scaling/Cargo.toml +++ b/examples/examples/auto-scaling/Cargo.toml @@ -12,7 +12,7 @@ tracing = "0.1.37" tokio-stream = "0.1.14" aws-config= { version = "1.5.4", path = "../../../sdk/aws-config", features = ["behavior-version-latest"] } aws-sdk-autoscaling= { version = "1.37.0", path = "../../../sdk/autoscaling" } -aws-sdk-ec2= { version = "1.59.0", path = "../../../sdk/ec2" } +aws-sdk-ec2= { version = "1.60.0", path = "../../../sdk/ec2" } aws-types= { version = "1.3.3", path = "../../../sdk/aws-types" } [dependencies.tokio] diff --git a/examples/examples/ebs/Cargo.toml b/examples/examples/ebs/Cargo.toml index ac84bac8f6f6..27ba66d57fda 100644 --- a/examples/examples/ebs/Cargo.toml +++ b/examples/examples/ebs/Cargo.toml @@ -11,7 +11,7 @@ base64 = "0.13.0" sha2 = "0.9.5" aws-config= { version = "1.5.4", path = "../../../sdk/aws-config", features = ["behavior-version-latest"] } aws-sdk-ebs= { version = "1.35.0", path = "../../../sdk/ebs" } -aws-sdk-ec2= { version = "1.59.0", path = "../../../sdk/ec2" } +aws-sdk-ec2= { version = "1.60.0", path = "../../../sdk/ec2" } [dependencies.tokio] version = "1.20.1" diff --git a/examples/examples/ec2/Cargo.toml b/examples/examples/ec2/Cargo.toml index 2447aec5ae6c..e2b42328ce57 100644 --- a/examples/examples/ec2/Cargo.toml +++ b/examples/examples/ec2/Cargo.toml @@ -10,7 +10,7 @@ publish = false tracing = "0.1.40" aws-smithy-runtime-api= { version = "1.7.1", path = "../../../sdk/aws-smithy-runtime-api" } aws-config= { version = "1.5.4", path = "../../../sdk/aws-config", features = ["behavior-version-latest"] } -aws-sdk-ec2= { version = "1.59.0", path = "../../../sdk/ec2" } +aws-sdk-ec2= { version = "1.60.0", path = "../../../sdk/ec2" } aws-types= { version = "1.3.3", path = "../../../sdk/aws-types" } [dependencies.tokio] diff --git a/examples/examples/firehose/Cargo.toml b/examples/examples/firehose/Cargo.toml index 66c76ab29130..abba8afb4116 100644 --- a/examples/examples/firehose/Cargo.toml +++ b/examples/examples/firehose/Cargo.toml @@ -8,7 +8,7 @@ publish = false [dependencies] aws-config= { version = "1.5.4", path = "../../../sdk/aws-config", features = ["behavior-version-latest"] } -aws-sdk-firehose= { version = "1.39.0", path = "../../../sdk/firehose" } +aws-sdk-firehose= { version = "1.40.0", path = "../../../sdk/firehose" } [dependencies.tokio] version = "1.20.1" diff --git a/examples/examples/lambda/Cargo.toml b/examples/examples/lambda/Cargo.toml index 31f8fdf2f77e..79d5c32a64ed 100644 --- a/examples/examples/lambda/Cargo.toml +++ b/examples/examples/lambda/Cargo.toml @@ -12,7 +12,7 @@ anyhow = "1.0.71" lambda_runtime = "0.8.0" serde = "1.0.164" aws-config= { version = "1.5.4", path = "../../../sdk/aws-config", features = ["behavior-version-latest"] } -aws-sdk-ec2= { version = "1.59.0", path = "../../../sdk/ec2" } +aws-sdk-ec2= { version = "1.60.0", path = "../../../sdk/ec2" } aws-sdk-iam= { version = "1.36.0", path = "../../../sdk/iam" } aws-sdk-lambda= { version = "1.36.0", path = "../../../sdk/lambda" } aws-sdk-s3= { version = "1.41.0", path = "../../../sdk/s3" } diff --git a/examples/examples/medialive/Cargo.toml b/examples/examples/medialive/Cargo.toml index f679697aaeec..31e4f7038195 100644 --- a/examples/examples/medialive/Cargo.toml +++ b/examples/examples/medialive/Cargo.toml @@ -8,7 +8,7 @@ publish = false [dependencies] aws-config= { version = "1.5.4", path = "../../../sdk/aws-config", features = ["behavior-version-latest"] } -aws-sdk-medialive= { version = "1.41.0", path = "../../../sdk/medialive" } +aws-sdk-medialive= { version = "1.42.0", path = "../../../sdk/medialive" } [dependencies.tokio] version = "1.20.1" diff --git a/examples/examples/rds/Cargo.toml b/examples/examples/rds/Cargo.toml index 89fc585b4bfd..eb492d461d42 100644 --- a/examples/examples/rds/Cargo.toml +++ b/examples/examples/rds/Cargo.toml @@ -16,7 +16,7 @@ secrecy = "0.8.0" tracing = "0.1.37" aws-config= { version = "1.5.4", path = "../../../sdk/aws-config", features = ["behavior-version-latest"] } aws-smithy-runtime-api= { version = "1.7.1", path = "../../../sdk/aws-smithy-runtime-api" } -aws-sdk-rds= { version = "1.45.0", path = "../../../sdk/rds" } +aws-sdk-rds= { version = "1.45.1", path = "../../../sdk/rds" } [dependencies.clap] version = "~4.4" diff --git a/examples/examples/sagemaker/Cargo.toml b/examples/examples/sagemaker/Cargo.toml index 27351d370b4c..8ec820d6bc57 100644 --- a/examples/examples/sagemaker/Cargo.toml +++ b/examples/examples/sagemaker/Cargo.toml @@ -9,7 +9,7 @@ publish = false [dependencies] thiserror = "1.0" aws-config= { version = "1.5.4", path = "../../../sdk/aws-config", features = ["behavior-version-latest"] } -aws-sdk-sagemaker= { version = "1.59.0", path = "../../../sdk/sagemaker" } +aws-sdk-sagemaker= { version = "1.60.0", path = "../../../sdk/sagemaker" } aws-smithy-types-convert= { version = "0.60.8", path = "../../../sdk/aws-smithy-types-convert", features = ["convert-chrono"] } [dependencies.clap] diff --git a/examples/examples/secretsmanager/Cargo.toml b/examples/examples/secretsmanager/Cargo.toml index 9242d315c3e9..5c1116c3c91e 100644 --- a/examples/examples/secretsmanager/Cargo.toml +++ b/examples/examples/secretsmanager/Cargo.toml @@ -9,7 +9,7 @@ publish = false [dependencies] aws-config= { version = "1.5.4", path = "../../../sdk/aws-config", features = ["behavior-version-latest"] } -aws-sdk-secretsmanager= { version = "1.39.0", path = "../../../sdk/secretsmanager" } +aws-sdk-secretsmanager= { version = "1.39.1", path = "../../../sdk/secretsmanager" } [dependencies.tokio] version = "1.20.1" diff --git a/examples/lambda/calculator/Cargo.toml b/examples/lambda/calculator/Cargo.toml index 596bb6fb510c..c4886c0972cd 100644 --- a/examples/lambda/calculator/Cargo.toml +++ b/examples/lambda/calculator/Cargo.toml @@ -14,7 +14,7 @@ serde_json = "1.0.94" anyhow = "1.0.71" serde = "1.0.164" aws-config= { version = "1.5.4", path = "../../../sdk/aws-config" } -aws-sdk-ec2= { version = "1.59.0", path = "../../../sdk/ec2" } +aws-sdk-ec2= { version = "1.60.0", path = "../../../sdk/ec2" } aws-sdk-lambda= { version = "1.36.0", path = "../../../sdk/lambda" } aws-sdk-s3= { version = "1.41.0", path = "../../../sdk/s3" } diff --git a/sdk/acmpca/Cargo.toml b/sdk/acmpca/Cargo.toml index c2b319a67a34..9ae813280bf6 100644 --- a/sdk/acmpca/Cargo.toml +++ b/sdk/acmpca/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-acmpca" -version = "1.37.0" +version = "1.38.0" authors = ["AWS Rust SDK Team ", "Russell Cohen "] description = "AWS SDK for AWS Certificate Manager Private Certificate Authority" edition = "2021" diff --git a/sdk/acmpca/README.md b/sdk/acmpca/README.md index 3d03887d2f02..c94ab685f0db 100644 --- a/sdk/acmpca/README.md +++ b/sdk/acmpca/README.md @@ -20,7 +20,7 @@ your project, add the following to your **Cargo.toml** file: ```toml [dependencies] aws-config = { version = "1.1.7", features = ["behavior-version-latest"] } -aws-sdk-acmpca = "1.37.0" +aws-sdk-acmpca = "1.38.0" tokio = { version = "1", features = ["full"] } ``` diff --git a/sdk/acmpca/src/lib.rs b/sdk/acmpca/src/lib.rs index 20f7eb12b7f8..e7ef76d0df34 100644 --- a/sdk/acmpca/src/lib.rs +++ b/sdk/acmpca/src/lib.rs @@ -37,7 +37,7 @@ //! ```toml //! [dependencies] //! aws-config = { version = "1.1.7", features = ["behavior-version-latest"] } -//! aws-sdk-acmpca = "1.37.0" +//! aws-sdk-acmpca = "1.38.0" //! tokio = { version = "1", features = ["full"] } //! ``` //! diff --git a/sdk/acmpca/src/waiters/audit_report_created.rs b/sdk/acmpca/src/waiters/audit_report_created.rs index f76e7da44088..f44ec134fb42 100644 --- a/sdk/acmpca/src/waiters/audit_report_created.rs +++ b/sdk/acmpca/src/waiters/audit_report_created.rs @@ -87,7 +87,7 @@ impl AuditReportCreatedFluentBuilder { }; let orchestrator = ::aws_smithy_runtime::client::waiters::WaiterOrchestrator::builder() .min_delay(::std::time::Duration::from_secs(3)) - .max_delay(::std::time::Duration::from_secs(120)) + .max_delay(::std::time::Duration::from_secs(180)) .max_wait(max_wait) .time_source(time_source) .sleep_impl(sleep_impl) diff --git a/sdk/acmpca/src/waiters/certificate_authority_csr_created.rs b/sdk/acmpca/src/waiters/certificate_authority_csr_created.rs index 39f27486168a..3f6e682905d4 100644 --- a/sdk/acmpca/src/waiters/certificate_authority_csr_created.rs +++ b/sdk/acmpca/src/waiters/certificate_authority_csr_created.rs @@ -78,7 +78,7 @@ impl CertificateAuthorityCsrCreatedFluentBuilder { }; let orchestrator = ::aws_smithy_runtime::client::waiters::WaiterOrchestrator::builder() .min_delay(::std::time::Duration::from_secs(3)) - .max_delay(::std::time::Duration::from_secs(120)) + .max_delay(::std::time::Duration::from_secs(180)) .max_wait(max_wait) .time_source(time_source) .sleep_impl(sleep_impl) diff --git a/sdk/acmpca/src/waiters/certificate_issued.rs b/sdk/acmpca/src/waiters/certificate_issued.rs index be5bf9ce7970..d92165ac8a98 100644 --- a/sdk/acmpca/src/waiters/certificate_issued.rs +++ b/sdk/acmpca/src/waiters/certificate_issued.rs @@ -78,7 +78,7 @@ impl CertificateIssuedFluentBuilder { }; let orchestrator = ::aws_smithy_runtime::client::waiters::WaiterOrchestrator::builder() .min_delay(::std::time::Duration::from_secs(1)) - .max_delay(::std::time::Duration::from_secs(120)) + .max_delay(::std::time::Duration::from_secs(60)) .max_wait(max_wait) .time_source(time_source) .sleep_impl(sleep_impl) diff --git a/sdk/connect/Cargo.toml b/sdk/connect/Cargo.toml index 9612b43d78dc..21e51bf1970d 100644 --- a/sdk/connect/Cargo.toml +++ b/sdk/connect/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-connect" -version = "1.51.0" +version = "1.52.0" authors = ["AWS Rust SDK Team ", "Russell Cohen "] description = "AWS SDK for Amazon Connect Service" edition = "2021" diff --git a/sdk/connect/README.md b/sdk/connect/README.md index 6cb41cb67bed..a9bed74ac154 100644 --- a/sdk/connect/README.md +++ b/sdk/connect/README.md @@ -23,7 +23,7 @@ your project, add the following to your **Cargo.toml** file: ```toml [dependencies] aws-config = { version = "1.1.7", features = ["behavior-version-latest"] } -aws-sdk-connect = "1.51.0" +aws-sdk-connect = "1.52.0" tokio = { version = "1", features = ["full"] } ``` diff --git a/sdk/connect/src/client.rs b/sdk/connect/src/client.rs index 9926ace0000b..a8deb56d2361 100644 --- a/sdk/connect/src/client.rs +++ b/sdk/connect/src/client.rs @@ -509,6 +509,8 @@ mod resume_contact; mod resume_contact_recording; +mod search_agent_statuses; + mod search_available_phone_numbers; mod search_contact_flow_modules; @@ -533,6 +535,8 @@ mod search_routing_profiles; mod search_security_profiles; +mod search_user_hierarchy_groups; + mod search_users; mod search_vocabularies; diff --git a/sdk/connect/src/client/get_metric_data_v2.rs b/sdk/connect/src/client/get_metric_data_v2.rs index 27acbb08b267..1cc2e987d9e2 100644 --- a/sdk/connect/src/client/get_metric_data_v2.rs +++ b/sdk/connect/src/client/get_metric_data_v2.rs @@ -10,7 +10,7 @@ impl super::Client { /// - [`interval(IntervalDetails)`](crate::operation::get_metric_data_v2::builders::GetMetricDataV2FluentBuilder::interval) / [`set_interval(Option)`](crate::operation::get_metric_data_v2::builders::GetMetricDataV2FluentBuilder::set_interval):
required: **false**

The interval period and timezone to apply to returned metrics.

  • IntervalPeriod: An aggregated grouping applied to request metrics. Valid IntervalPeriod values are: FIFTEEN_MIN | THIRTY_MIN | HOUR | DAY | WEEK | TOTAL.

    For example, if IntervalPeriod is selected THIRTY_MIN, StartTime and EndTime differs by 1 day, then Amazon Connect returns 48 results in the response. Each result is aggregated by the THIRTY_MIN period. By default Amazon Connect aggregates results based on the TOTAL interval period.

    The following list describes restrictions on StartTime and EndTime based on which IntervalPeriod is requested.

    • FIFTEEN_MIN: The difference between StartTime and EndTime must be less than 3 days.

    • THIRTY_MIN: The difference between StartTime and EndTime must be less than 3 days.

    • HOUR: The difference between StartTime and EndTime must be less than 3 days.

    • DAY: The difference between StartTime and EndTime must be less than 35 days.

    • WEEK: The difference between StartTime and EndTime must be less than 35 days.

    • TOTAL: The difference between StartTime and EndTime must be less than 35 days.

  • TimeZone: The timezone applied to requested metrics.


/// - [`filters(FilterV2)`](crate::operation::get_metric_data_v2::builders::GetMetricDataV2FluentBuilder::filters) / [`set_filters(Option>)`](crate::operation::get_metric_data_v2::builders::GetMetricDataV2FluentBuilder::set_filters):
required: **true**

The filters to apply to returned metrics. You can filter on the following resources:

  • Agents

  • Channels

  • Feature

  • Queues

  • Routing profiles

  • Routing step expression

  • User hierarchy groups

At least one filter must be passed from queues, routing profiles, agents, or user hierarchy groups.

To filter by phone number, see Create a historical metrics report in the Amazon Connect Administrator Guide.

Note the following limits:

  • Filter keys: A maximum of 5 filter keys are supported in a single request. Valid filter keys: AGENT | AGENT_HIERARCHY_LEVEL_ONE | AGENT_HIERARCHY_LEVEL_TWO | AGENT_HIERARCHY_LEVEL_THREE | AGENT_HIERARCHY_LEVEL_FOUR | AGENT_HIERARCHY_LEVEL_FIVE | CASE_TEMPLATE_ARN | CASE_STATUS | CHANNEL | contact/segmentAttributes/connect:Subtype | FEATURE | FLOW_TYPE | FLOWS_NEXT_RESOURCE_ID | FLOWS_NEXT_RESOURCE_QUEUE_ID | FLOWS_OUTCOME_TYPE | FLOWS_RESOURCE_ID | INITIATION_METHOD | RESOURCE_PUBLISHED_TIMESTAMP | ROUTING_PROFILE | ROUTING_STEP_EXPRESSION | QUEUE | Q_CONNECT_ENABLED |

  • Filter values: A maximum of 100 filter values are supported in a single request. VOICE, CHAT, and TASK are valid filterValue for the CHANNEL filter key. They do not count towards limitation of 100 filter values. For example, a GetMetricDataV2 request can filter by 50 queues, 35 agents, and 15 routing profiles for a total of 100 filter values, along with 3 channel filters.

    contact_lens_conversational_analytics is a valid filterValue for the FEATURE filter key. It is available only to contacts analyzed by Contact Lens conversational analytics.

    connect:Chat, connect:SMS, connect:Telephony, and connect:WebRTC are valid filterValue examples (not exhaustive) for the contact/segmentAttributes/connect:Subtype filter key.

    ROUTING_STEP_EXPRESSION is a valid filter key with a filter value up to 3000 length. This filter is case and order sensitive. JSON string fields must be sorted in ascending order and JSON array order should be kept as is.

    Q_CONNECT_ENABLED. TRUE and FALSE are the only valid filterValues for the Q_CONNECT_ENABLED filter key.

    • TRUE includes all contacts that had Amazon Q in Connect enabled as part of the flow.

    • FALSE includes all contacts that did not have Amazon Q in Connect enabled as part of the flow

    This filter is available only for contact record-driven metrics.


/// - [`groupings(impl Into)`](crate::operation::get_metric_data_v2::builders::GetMetricDataV2FluentBuilder::groupings) / [`set_groupings(Option>)`](crate::operation::get_metric_data_v2::builders::GetMetricDataV2FluentBuilder::set_groupings):
required: **false**

The grouping applied to the metrics that are returned. For example, when results are grouped by queue, the metrics returned are grouped by queue. The values that are returned apply to the metrics for each queue. They are not aggregated for all queues.

If no grouping is specified, a summary of all metrics is returned.

Valid grouping keys: AGENT | AGENT_HIERARCHY_LEVEL_ONE | AGENT_HIERARCHY_LEVEL_TWO | AGENT_HIERARCHY_LEVEL_THREE | AGENT_HIERARCHY_LEVEL_FOUR | AGENT_HIERARCHY_LEVEL_FIVE | CASE_TEMPLATE_ARN | CASE_STATUS | CHANNEL | contact/segmentAttributes/connect:Subtype | FLOWS_RESOURCE_ID | FLOWS_MODULE_RESOURCE_ID | FLOW_TYPE | FLOWS_OUTCOME_TYPE | INITIATION_METHOD | Q_CONNECT_ENABLED | QUEUE | RESOURCE_PUBLISHED_TIMESTAMP | ROUTING_PROFILE | ROUTING_STEP_EXPRESSION


- /// - [`metrics(MetricV2)`](crate::operation::get_metric_data_v2::builders::GetMetricDataV2FluentBuilder::metrics) / [`set_metrics(Option>)`](crate::operation::get_metric_data_v2::builders::GetMetricDataV2FluentBuilder::set_metrics):
required: **true**

The metrics to retrieve. Specify the name, groupings, and filters for each metric. The following historical metrics are available. For a description of each metric, see Historical metrics definitions in the Amazon Connect Administrator Guide.

ABANDONMENT_RATE

Unit: Percent

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, contact/segmentAttributes/connect:Subtype, Q in Connect

UI name: Abandonment rate

AGENT_ADHERENT_TIME

This metric is available only in Amazon Web Services Regions where Forecasting, capacity planning, and scheduling is available.

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

UI name: Adherent time

AGENT_ANSWER_RATE

Unit: Percent

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

UI name: Agent answer rate

AGENT_NON_ADHERENT_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

UI name: Non-adherent time

AGENT_NON_RESPONSE

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

UI name: Agent non-response

AGENT_NON_RESPONSE_WITHOUT_CUSTOMER_ABANDONS

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

Data for this metric is available starting from October 1, 2023 0:00:00 GMT.

UI name: Agent non-response without customer abandons

AGENT_OCCUPANCY

Unit: Percentage

Valid groupings and filters: Routing Profile, Agent, Agent Hierarchy

UI name: Occupancy

AGENT_SCHEDULE_ADHERENCE

This metric is available only in Amazon Web Services Regions where Forecasting, capacity planning, and scheduling is available.

Unit: Percent

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

UI name: Adherence

AGENT_SCHEDULED_TIME

This metric is available only in Amazon Web Services Regions where Forecasting, capacity planning, and scheduling is available.

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

UI name: Scheduled time

AVG_ABANDON_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, contact/segmentAttributes/connect:Subtype, Q in Connect

UI name: Average queue abandon time

AVG_ACTIVE_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Q in Connect

UI name: Average active time

AVG_AFTER_CONTACT_WORK_TIME

Unit: Seconds

Valid metric filter key: INITIATION_METHOD

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, contact/segmentAttributes/connect:Subtype, Q in Connect

UI name: Average after contact work time

Feature is a valid filter but not a valid grouping.

AVG_AGENT_CONNECTING_TIME

Unit: Seconds

Valid metric filter key: INITIATION_METHOD. For now, this metric only supports the following as INITIATION_METHOD: INBOUND | OUTBOUND | CALLBACK | API

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

UI name: Average agent API connecting time

The Negate key in Metric Level Filters is not applicable for this metric.

AVG_AGENT_PAUSE_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Q in Connect

UI name: Average agent pause time

AVG_CASE_RELATED_CONTACTS

Unit: Count

Required filter key: CASE_TEMPLATE_ARN

Valid groupings and filters: CASE_TEMPLATE_ARN, CASE_STATUS

UI name: Average contacts per case

AVG_CASE_RESOLUTION_TIME

Unit: Seconds

Required filter key: CASE_TEMPLATE_ARN

Valid groupings and filters: CASE_TEMPLATE_ARN, CASE_STATUS

UI name: Average case resolution time

AVG_CONTACT_DURATION

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, contact/segmentAttributes/connect:Subtype, Q in Connect

UI name: Average contact duration

Feature is a valid filter but not a valid grouping.

AVG_CONVERSATION_DURATION

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, contact/segmentAttributes/connect:Subtype, Q in Connect

UI name: Average conversation duration

AVG_FLOW_TIME

Unit: Seconds

Valid groupings and filters: Channel, contact/segmentAttributes/connect:Subtype, Flow type, Flows module resource ID, Flows next resource ID, Flows next resource queue ID, Flows outcome type, Flows resource ID, Initiation method, Resource published timestamp

UI name: Average flow time

AVG_GREETING_TIME_AGENT

This metric is available only for contacts analyzed by Contact Lens conversational analytics.

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype, Q in Connect

UI name: Average agent greeting time

AVG_HANDLE_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, contact/segmentAttributes/connect:Subtype, RoutingStepExpression

UI name: Average handle time

Feature is a valid filter but not a valid grouping.

AVG_HOLD_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, contact/segmentAttributes/connect:Subtype, Q in Connect

UI name: Average customer hold time

Feature is a valid filter but not a valid grouping.

AVG_HOLD_TIME_ALL_CONTACTS

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype, Q in Connect

UI name: Average customer hold time all contacts

AVG_HOLDS

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, contact/segmentAttributes/connect:Subtype, Q in Connect

UI name: Average holds

Feature is a valid filter but not a valid grouping.

AVG_INTERACTION_AND_HOLD_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype, Q in Connect

UI name: Average agent interaction and customer hold time

AVG_INTERACTION_TIME

Unit: Seconds

Valid metric filter key: INITIATION_METHOD

Valid groupings and filters: Queue, Channel, Routing Profile, Feature, contact/segmentAttributes/connect:Subtype, Q in Connect

UI name: Average agent interaction time

Feature is a valid filter but not a valid grouping.

AVG_INTERRUPTIONS_AGENT

This metric is available only for contacts analyzed by Contact Lens conversational analytics.

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype, Q in Connect

UI name: Average agent interruptions

AVG_INTERRUPTION_TIME_AGENT

This metric is available only for contacts analyzed by Contact Lens conversational analytics.

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype, Q in Connect

UI name: Average agent interruption time

AVG_NON_TALK_TIME

This metric is available only for contacts analyzed by Contact Lens conversational analytics.

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype, Q in Connect

UI name: Average non-talk time

AVG_QUEUE_ANSWER_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Feature, contact/segmentAttributes/connect:Subtype, Q in Connect

UI name: Average queue answer time

Feature is a valid filter but not a valid grouping.

AVG_RESOLUTION_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, contact/segmentAttributes/connect:Subtype, Q in Connect

UI name: Average resolution time

AVG_TALK_TIME

This metric is available only for contacts analyzed by Contact Lens conversational analytics.

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype, Q in Connect

UI name: Average talk time

AVG_TALK_TIME_AGENT

This metric is available only for contacts analyzed by Contact Lens conversational analytics.

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype, Q in Connect

UI name: Average agent talk time

AVG_TALK_TIME_CUSTOMER

This metric is available only for contacts analyzed by Contact Lens conversational analytics.

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype, Q in Connect

UI name: Average customer talk time

CASES_CREATED

Unit: Count

Required filter key: CASE_TEMPLATE_ARN

Valid groupings and filters: CASE_TEMPLATE_ARN, CASE_STATUS

UI name: Cases created

CONTACTS_CREATED

Unit: Count

Valid metric filter key: INITIATION_METHOD

Valid groupings and filters: Queue, Channel, Routing Profile, Feature, contact/segmentAttributes/connect:Subtype, Q in Connect

UI name: Contacts created

Feature is a valid filter but not a valid grouping.

CONTACTS_HANDLED

Unit: Count

Valid metric filter key: INITIATION_METHOD, DISCONNECT_REASON

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, contact/segmentAttributes/connect:Subtype, RoutingStepExpression, Q in Connect

UI name: API contacts handled

Feature is a valid filter but not a valid grouping.

CONTACTS_HANDLED_BY_CONNECTED_TO_AGENT

Unit: Count

Valid metric filter key: INITIATION_METHOD

Valid groupings and filters: Queue, Channel, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype, Q in Connect

UI name: Contacts handled (connected to agent timestamp)

CONTACTS_HOLD_ABANDONS

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype, Q in Connect

UI name: Contacts hold disconnect

CONTACTS_ON_HOLD_AGENT_DISCONNECT

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Q in Connect

UI name: Contacts hold agent disconnect

CONTACTS_ON_HOLD_CUSTOMER_DISCONNECT

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Q in Connect

UI name: Contacts hold customer disconnect

CONTACTS_PUT_ON_HOLD

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Q in Connect

UI name: Contacts put on hold

CONTACTS_TRANSFERRED_OUT_EXTERNAL

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Q in Connect

UI name: Contacts transferred out external

CONTACTS_TRANSFERRED_OUT_INTERNAL

Unit: Percent

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Q in Connect

UI name: Contacts transferred out internal

CONTACTS_QUEUED

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype, Q in Connect

UI name: Contacts queued

CONTACTS_QUEUED_BY_ENQUEUE

Unit: Count

Valid groupings and filters: Queue, Channel, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

UI name: Contacts queued (enqueue timestamp)

CONTACTS_REMOVED_FROM_QUEUE_IN_X

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Q in Connect

Threshold: For ThresholdValue, enter any whole number from 1 to 604800 (inclusive), in seconds. For Comparison, you must enter LT (for "Less than").

UI name: This metric is not available in Amazon Connect admin website.

CONTACTS_RESOLVED_IN_X

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, contact/segmentAttributes/connect:Subtype, Q in Connect

Threshold: For ThresholdValue enter any whole number from 1 to 604800 (inclusive), in seconds. For Comparison, you must enter LT (for "Less than").

UI name: Contacts resolved in X

CONTACTS_TRANSFERRED_OUT

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, contact/segmentAttributes/connect:Subtype, Q in Connect

UI name: Contacts transferred out

Feature is a valid filter but not a valid grouping.

CONTACTS_TRANSFERRED_OUT_BY_AGENT

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype, Q in Connect

UI name: Contacts transferred out by agent

CONTACTS_TRANSFERRED_OUT_FROM_QUEUE

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype, Q in Connect

UI name: Contacts transferred out queue

CURRENT_CASES

Unit: Count

Required filter key: CASE_TEMPLATE_ARN

Valid groupings and filters: CASE_TEMPLATE_ARN, CASE_STATUS

UI name: Current cases

FLOWS_OUTCOME

Unit: Count

Valid groupings and filters: Channel, contact/segmentAttributes/connect:Subtype, Flow type, Flows module resource ID, Flows next resource ID, Flows next resource queue ID, Flows outcome type, Flows resource ID, Initiation method, Resource published timestamp

UI name: Flows outcome

FLOWS_STARTED

Unit: Count

Valid groupings and filters: Channel, contact/segmentAttributes/connect:Subtype, Flow type, Flows module resource ID, Flows resource ID, Initiation method, Resource published timestamp

UI name: Flows started

MAX_FLOW_TIME

Unit: Seconds

Valid groupings and filters: Channel, contact/segmentAttributes/connect:Subtype, Flow type, Flows module resource ID, Flows next resource ID, Flows next resource queue ID, Flows outcome type, Flows resource ID, Initiation method, Resource published timestamp

UI name: Maximum flow time

MAX_QUEUED_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype, Q in Connect

UI name: Maximum queued time

MIN_FLOW_TIME

Unit: Seconds

Valid groupings and filters: Channel, contact/segmentAttributes/connect:Subtype, Flow type, Flows module resource ID, Flows next resource ID, Flows next resource queue ID, Flows outcome type, Flows resource ID, Initiation method, Resource published timestamp

UI name: Minimum flow time

PERCENT_CASES_FIRST_CONTACT_RESOLVED

Unit: Percent

Required filter key: CASE_TEMPLATE_ARN

Valid groupings and filters: CASE_TEMPLATE_ARN, CASE_STATUS

UI name: Cases resolved on first contact

PERCENT_CONTACTS_STEP_EXPIRED

Unit: Percent

Valid groupings and filters: Queue, RoutingStepExpression

UI name: This metric is available in Real-time Metrics UI but not on the Historical Metrics UI.

PERCENT_CONTACTS_STEP_JOINED

Unit: Percent

Valid groupings and filters: Queue, RoutingStepExpression

UI name: This metric is available in Real-time Metrics UI but not on the Historical Metrics UI.

PERCENT_FLOWS_OUTCOME

Unit: Percent

Valid metric filter key: FLOWS_OUTCOME_TYPE

Valid groupings and filters: Channel, contact/segmentAttributes/connect:Subtype, Flow type, Flows module resource ID, Flows next resource ID, Flows next resource queue ID, Flows outcome type, Flows resource ID, Initiation method, Resource published timestamp

UI name: Flows outcome percentage.

The FLOWS_OUTCOME_TYPE is not a valid grouping.

PERCENT_NON_TALK_TIME

This metric is available only for contacts analyzed by Contact Lens conversational analytics.

Unit: Percentage

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype, Q in Connect

UI name: Non-talk time percent

PERCENT_TALK_TIME

This metric is available only for contacts analyzed by Contact Lens conversational analytics.

Unit: Percentage

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype, Q in Connect

UI name: Talk time percent

PERCENT_TALK_TIME_AGENT

This metric is available only for contacts analyzed by Contact Lens conversational analytics.

Unit: Percentage

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype, Q in Connect

UI name: Agent talk time percent

PERCENT_TALK_TIME_CUSTOMER

This metric is available only for contacts analyzed by Contact Lens conversational analytics.

Unit: Percentage

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype, Q in Connect

UI name: Customer talk time percent

REOPENED_CASE_ACTIONS

Unit: Count

Required filter key: CASE_TEMPLATE_ARN

Valid groupings and filters: CASE_TEMPLATE_ARN, CASE_STATUS

UI name: Cases reopened

RESOLVED_CASE_ACTIONS

Unit: Count

Required filter key: CASE_TEMPLATE_ARN

Valid groupings and filters: CASE_TEMPLATE_ARN, CASE_STATUS

UI name: Cases resolved

SERVICE_LEVEL

You can include up to 20 SERVICE_LEVEL metrics in a request.

Unit: Percent

Valid groupings and filters: Queue, Channel, Routing Profile, Q in Connect

Threshold: For ThresholdValue, enter any whole number from 1 to 604800 (inclusive), in seconds. For Comparison, you must enter LT (for "Less than").

UI name: Service level X

STEP_CONTACTS_QUEUED

Unit: Count

Valid groupings and filters: Queue, RoutingStepExpression

UI name: This metric is available in Real-time Metrics UI but not on the Historical Metrics UI.

SUM_AFTER_CONTACT_WORK_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Q in Connect

UI name: After contact work time

SUM_CONNECTING_TIME_AGENT

Unit: Seconds

Valid metric filter key: INITIATION_METHOD. This metric only supports the following filter keys as INITIATION_METHOD: INBOUND | OUTBOUND | CALLBACK | API

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

UI name: Agent API connecting time

The Negate key in Metric Level Filters is not applicable for this metric.

SUM_CONTACTS_ABANDONED

Unit: Count

Metric filter:

  • Valid values: API| Incoming | Outbound | Transfer | Callback | Queue_Transfer| Disconnect

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype, RoutingStepExpression, Q in Connect

UI name: Contact abandoned

SUM_CONTACTS_ABANDONED_IN_X

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, contact/segmentAttributes/connect:Subtype, Q in Connect

Threshold: For ThresholdValue, enter any whole number from 1 to 604800 (inclusive), in seconds. For Comparison, you must enter LT (for "Less than").

UI name: Contacts abandoned in X seconds

SUM_CONTACTS_ANSWERED_IN_X

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, contact/segmentAttributes/connect:Subtype, Q in Connect

Threshold: For ThresholdValue, enter any whole number from 1 to 604800 (inclusive), in seconds. For Comparison, you must enter LT (for "Less than").

UI name: Contacts answered in X seconds

SUM_CONTACT_FLOW_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Q in Connect

UI name: Contact flow time

SUM_CONTACT_TIME_AGENT

Unit: Seconds

Valid groupings and filters: Routing Profile, Agent, Agent Hierarchy

UI name: Agent on contact time

SUM_CONTACTS_DISCONNECTED

Valid metric filter key: DISCONNECT_REASON

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype, Q in Connect

UI name: Contact disconnected

SUM_ERROR_STATUS_TIME_AGENT

Unit: Seconds

Valid groupings and filters: Routing Profile, Agent, Agent Hierarchy

UI name: Error status time

SUM_HANDLE_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Q in Connect

UI name: Contact handle time

SUM_HOLD_TIME

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Q in Connect

UI name: Customer hold time

SUM_IDLE_TIME_AGENT

Unit: Seconds

Valid groupings and filters: Routing Profile, Agent, Agent Hierarchy

UI name: Agent idle time

SUM_INTERACTION_AND_HOLD_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Q in Connect

UI name: Agent interaction and hold time

SUM_INTERACTION_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

UI name: Agent interaction time

SUM_NON_PRODUCTIVE_TIME_AGENT

Unit: Seconds

Valid groupings and filters: Routing Profile, Agent, Agent Hierarchy

UI name: Non-Productive Time

SUM_ONLINE_TIME_AGENT

Unit: Seconds

Valid groupings and filters: Routing Profile, Agent, Agent Hierarchy

UI name: Online time

SUM_RETRY_CALLBACK_ATTEMPTS

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, contact/segmentAttributes/connect:Subtype, Q in Connect

UI name: Callback attempts


+ /// - [`metrics(MetricV2)`](crate::operation::get_metric_data_v2::builders::GetMetricDataV2FluentBuilder::metrics) / [`set_metrics(Option>)`](crate::operation::get_metric_data_v2::builders::GetMetricDataV2FluentBuilder::set_metrics):
required: **true**

The metrics to retrieve. Specify the name, groupings, and filters for each metric. The following historical metrics are available. For a description of each metric, see Historical metrics definitions in the Amazon Connect Administrator Guide.

ABANDONMENT_RATE

Unit: Percent

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, contact/segmentAttributes/connect:Subtype, Q in Connect

UI name: Abandonment rate

AGENT_ADHERENT_TIME

This metric is available only in Amazon Web Services Regions where Forecasting, capacity planning, and scheduling is available.

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

UI name: Adherent time

AGENT_ANSWER_RATE

Unit: Percent

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

UI name: Agent answer rate

AGENT_NON_ADHERENT_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

UI name: Non-adherent time

AGENT_NON_RESPONSE

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

UI name: Agent non-response

AGENT_NON_RESPONSE_WITHOUT_CUSTOMER_ABANDONS

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

Data for this metric is available starting from October 1, 2023 0:00:00 GMT.

UI name: Agent non-response without customer abandons

AGENT_OCCUPANCY

Unit: Percentage

Valid groupings and filters: Routing Profile, Agent, Agent Hierarchy

UI name: Occupancy

AGENT_SCHEDULE_ADHERENCE

This metric is available only in Amazon Web Services Regions where Forecasting, capacity planning, and scheduling is available.

Unit: Percent

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

UI name: Adherence

AGENT_SCHEDULED_TIME

This metric is available only in Amazon Web Services Regions where Forecasting, capacity planning, and scheduling is available.

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

UI name: Scheduled time

AVG_ABANDON_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, contact/segmentAttributes/connect:Subtype, Q in Connect

UI name: Average queue abandon time

AVG_ACTIVE_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Q in Connect

UI name: Average active time

AVG_AFTER_CONTACT_WORK_TIME

Unit: Seconds

Valid metric filter key: INITIATION_METHOD

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, contact/segmentAttributes/connect:Subtype, Q in Connect

UI name: Average after contact work time

Feature is a valid filter but not a valid grouping.

AVG_AGENT_CONNECTING_TIME

Unit: Seconds

Valid metric filter key: INITIATION_METHOD. For now, this metric only supports the following as INITIATION_METHOD: INBOUND | OUTBOUND | CALLBACK | API

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

UI name: Average agent API connecting time

The Negate key in Metric Level Filters is not applicable for this metric.

AVG_AGENT_PAUSE_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Q in Connect

UI name: Average agent pause time

AVG_CASE_RELATED_CONTACTS

Unit: Count

Required filter key: CASE_TEMPLATE_ARN

Valid groupings and filters: CASE_TEMPLATE_ARN, CASE_STATUS

UI name: Average contacts per case

AVG_CASE_RESOLUTION_TIME

Unit: Seconds

Required filter key: CASE_TEMPLATE_ARN

Valid groupings and filters: CASE_TEMPLATE_ARN, CASE_STATUS

UI name: Average case resolution time

AVG_CONTACT_DURATION

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, contact/segmentAttributes/connect:Subtype, Q in Connect

UI name: Average contact duration

Feature is a valid filter but not a valid grouping.

AVG_CONVERSATION_DURATION

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, contact/segmentAttributes/connect:Subtype, Q in Connect

UI name: Average conversation duration

AVG_FLOW_TIME

Unit: Seconds

Valid groupings and filters: Channel, contact/segmentAttributes/connect:Subtype, Flow type, Flows module resource ID, Flows next resource ID, Flows next resource queue ID, Flows outcome type, Flows resource ID, Initiation method, Resource published timestamp

UI name: Average flow time

AVG_GREETING_TIME_AGENT

This metric is available only for contacts analyzed by Contact Lens conversational analytics.

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype, Q in Connect

UI name: Average agent greeting time

AVG_HANDLE_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, contact/segmentAttributes/connect:Subtype, RoutingStepExpression

UI name: Average handle time

Feature is a valid filter but not a valid grouping.

AVG_HOLD_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, contact/segmentAttributes/connect:Subtype, Q in Connect

UI name: Average customer hold time

Feature is a valid filter but not a valid grouping.

AVG_HOLD_TIME_ALL_CONTACTS

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype, Q in Connect

UI name: Average customer hold time all contacts

AVG_HOLDS

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, contact/segmentAttributes/connect:Subtype, Q in Connect

UI name: Average holds

Feature is a valid filter but not a valid grouping.

AVG_INTERACTION_AND_HOLD_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype, Q in Connect

UI name: Average agent interaction and customer hold time

AVG_INTERACTION_TIME

Unit: Seconds

Valid metric filter key: INITIATION_METHOD

Valid groupings and filters: Queue, Channel, Routing Profile, Feature, contact/segmentAttributes/connect:Subtype, Q in Connect

UI name: Average agent interaction time

Feature is a valid filter but not a valid grouping.

AVG_INTERRUPTIONS_AGENT

This metric is available only for contacts analyzed by Contact Lens conversational analytics.

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype, Q in Connect

UI name: Average agent interruptions

AVG_INTERRUPTION_TIME_AGENT

This metric is available only for contacts analyzed by Contact Lens conversational analytics.

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype, Q in Connect

UI name: Average agent interruption time

AVG_NON_TALK_TIME

This metric is available only for contacts analyzed by Contact Lens conversational analytics.

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype, Q in Connect

UI name: Average non-talk time

AVG_QUEUE_ANSWER_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Feature, contact/segmentAttributes/connect:Subtype, Q in Connect

UI name: Average queue answer time

Feature is a valid filter but not a valid grouping.

AVG_RESOLUTION_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, contact/segmentAttributes/connect:Subtype, Q in Connect

UI name: Average resolution time

AVG_TALK_TIME

This metric is available only for contacts analyzed by Contact Lens conversational analytics.

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype, Q in Connect

UI name: Average talk time

AVG_TALK_TIME_AGENT

This metric is available only for contacts analyzed by Contact Lens conversational analytics.

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype, Q in Connect

UI name: Average agent talk time

AVG_TALK_TIME_CUSTOMER

This metric is available only for contacts analyzed by Contact Lens conversational analytics.

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype, Q in Connect

UI name: Average customer talk time

CASES_CREATED

Unit: Count

Required filter key: CASE_TEMPLATE_ARN

Valid groupings and filters: CASE_TEMPLATE_ARN, CASE_STATUS

UI name: Cases created

CONTACTS_CREATED

Unit: Count

Valid metric filter key: INITIATION_METHOD

Valid groupings and filters: Queue, Channel, Routing Profile, Feature, contact/segmentAttributes/connect:Subtype, Q in Connect

UI name: Contacts created

Feature is a valid filter but not a valid grouping.

CONTACTS_HANDLED

Unit: Count

Valid metric filter key: INITIATION_METHOD, DISCONNECT_REASON

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, contact/segmentAttributes/connect:Subtype, RoutingStepExpression, Q in Connect

UI name: API contacts handled

Feature is a valid filter but not a valid grouping.

CONTACTS_HANDLED_BY_CONNECTED_TO_AGENT

Unit: Count

Valid metric filter key: INITIATION_METHOD

Valid groupings and filters: Queue, Channel, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype, Q in Connect

UI name: Contacts handled (connected to agent timestamp)

CONTACTS_HOLD_ABANDONS

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype, Q in Connect

UI name: Contacts hold disconnect

CONTACTS_ON_HOLD_AGENT_DISCONNECT

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Q in Connect

UI name: Contacts hold agent disconnect

CONTACTS_ON_HOLD_CUSTOMER_DISCONNECT

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Q in Connect

UI name: Contacts hold customer disconnect

CONTACTS_PUT_ON_HOLD

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Q in Connect

UI name: Contacts put on hold

CONTACTS_TRANSFERRED_OUT_EXTERNAL

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Q in Connect

UI name: Contacts transferred out external

CONTACTS_TRANSFERRED_OUT_INTERNAL

Unit: Percent

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Q in Connect

UI name: Contacts transferred out internal

CONTACTS_QUEUED

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype, Q in Connect

UI name: Contacts queued

CONTACTS_QUEUED_BY_ENQUEUE

Unit: Count

Valid groupings and filters: Queue, Channel, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

UI name: Contacts queued (enqueue timestamp)

CONTACTS_REMOVED_FROM_QUEUE_IN_X

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Q in Connect

Threshold: For ThresholdValue, enter any whole number from 1 to 604800 (inclusive), in seconds. For Comparison, you must enter LT (for "Less than").

UI name: Contacts removed from queue in X seconds

CONTACTS_RESOLVED_IN_X

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, contact/segmentAttributes/connect:Subtype, Q in Connect

Threshold: For ThresholdValue enter any whole number from 1 to 604800 (inclusive), in seconds. For Comparison, you must enter LT (for "Less than").

UI name: Contacts resolved in X

CONTACTS_TRANSFERRED_OUT

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, contact/segmentAttributes/connect:Subtype, Q in Connect

UI name: Contacts transferred out

Feature is a valid filter but not a valid grouping.

CONTACTS_TRANSFERRED_OUT_BY_AGENT

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype, Q in Connect

UI name: Contacts transferred out by agent

CONTACTS_TRANSFERRED_OUT_FROM_QUEUE

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype, Q in Connect

UI name: Contacts transferred out queue

CURRENT_CASES

Unit: Count

Required filter key: CASE_TEMPLATE_ARN

Valid groupings and filters: CASE_TEMPLATE_ARN, CASE_STATUS

UI name: Current cases

FLOWS_OUTCOME

Unit: Count

Valid groupings and filters: Channel, contact/segmentAttributes/connect:Subtype, Flow type, Flows module resource ID, Flows next resource ID, Flows next resource queue ID, Flows outcome type, Flows resource ID, Initiation method, Resource published timestamp

UI name: Flows outcome

FLOWS_STARTED

Unit: Count

Valid groupings and filters: Channel, contact/segmentAttributes/connect:Subtype, Flow type, Flows module resource ID, Flows resource ID, Initiation method, Resource published timestamp

UI name: Flows started

MAX_FLOW_TIME

Unit: Seconds

Valid groupings and filters: Channel, contact/segmentAttributes/connect:Subtype, Flow type, Flows module resource ID, Flows next resource ID, Flows next resource queue ID, Flows outcome type, Flows resource ID, Initiation method, Resource published timestamp

UI name: Maximum flow time

MAX_QUEUED_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype, Q in Connect

UI name: Maximum queued time

MIN_FLOW_TIME

Unit: Seconds

Valid groupings and filters: Channel, contact/segmentAttributes/connect:Subtype, Flow type, Flows module resource ID, Flows next resource ID, Flows next resource queue ID, Flows outcome type, Flows resource ID, Initiation method, Resource published timestamp

UI name: Minimum flow time

PERCENT_CASES_FIRST_CONTACT_RESOLVED

Unit: Percent

Required filter key: CASE_TEMPLATE_ARN

Valid groupings and filters: CASE_TEMPLATE_ARN, CASE_STATUS

UI name: Cases resolved on first contact

PERCENT_CONTACTS_STEP_EXPIRED

Unit: Percent

Valid groupings and filters: Queue, RoutingStepExpression

UI name: This metric is available in Real-time Metrics UI but not on the Historical Metrics UI.

PERCENT_CONTACTS_STEP_JOINED

Unit: Percent

Valid groupings and filters: Queue, RoutingStepExpression

UI name: This metric is available in Real-time Metrics UI but not on the Historical Metrics UI.

PERCENT_FLOWS_OUTCOME

Unit: Percent

Valid metric filter key: FLOWS_OUTCOME_TYPE

Valid groupings and filters: Channel, contact/segmentAttributes/connect:Subtype, Flow type, Flows module resource ID, Flows next resource ID, Flows next resource queue ID, Flows outcome type, Flows resource ID, Initiation method, Resource published timestamp

UI name: Flows outcome percentage.

The FLOWS_OUTCOME_TYPE is not a valid grouping.

PERCENT_NON_TALK_TIME

This metric is available only for contacts analyzed by Contact Lens conversational analytics.

Unit: Percentage

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype, Q in Connect

UI name: Non-talk time percent

PERCENT_TALK_TIME

This metric is available only for contacts analyzed by Contact Lens conversational analytics.

Unit: Percentage

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype, Q in Connect

UI name: Talk time percent

PERCENT_TALK_TIME_AGENT

This metric is available only for contacts analyzed by Contact Lens conversational analytics.

Unit: Percentage

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype, Q in Connect

UI name: Agent talk time percent

PERCENT_TALK_TIME_CUSTOMER

This metric is available only for contacts analyzed by Contact Lens conversational analytics.

Unit: Percentage

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype, Q in Connect

UI name: Customer talk time percent

REOPENED_CASE_ACTIONS

Unit: Count

Required filter key: CASE_TEMPLATE_ARN

Valid groupings and filters: CASE_TEMPLATE_ARN, CASE_STATUS

UI name: Cases reopened

RESOLVED_CASE_ACTIONS

Unit: Count

Required filter key: CASE_TEMPLATE_ARN

Valid groupings and filters: CASE_TEMPLATE_ARN, CASE_STATUS

UI name: Cases resolved

SERVICE_LEVEL

You can include up to 20 SERVICE_LEVEL metrics in a request.

Unit: Percent

Valid groupings and filters: Queue, Channel, Routing Profile, Q in Connect

Threshold: For ThresholdValue, enter any whole number from 1 to 604800 (inclusive), in seconds. For Comparison, you must enter LT (for "Less than").

UI name: Service level X

STEP_CONTACTS_QUEUED

Unit: Count

Valid groupings and filters: Queue, RoutingStepExpression

UI name: This metric is available in Real-time Metrics UI but not on the Historical Metrics UI.

SUM_AFTER_CONTACT_WORK_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Q in Connect

UI name: After contact work time

SUM_CONNECTING_TIME_AGENT

Unit: Seconds

Valid metric filter key: INITIATION_METHOD. This metric only supports the following filter keys as INITIATION_METHOD: INBOUND | OUTBOUND | CALLBACK | API

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

UI name: Agent API connecting time

The Negate key in Metric Level Filters is not applicable for this metric.

SUM_CONTACTS_ABANDONED

Unit: Count

Metric filter:

  • Valid values: API| Incoming | Outbound | Transfer | Callback | Queue_Transfer| Disconnect

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype, RoutingStepExpression, Q in Connect

UI name: Contact abandoned

SUM_CONTACTS_ABANDONED_IN_X

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, contact/segmentAttributes/connect:Subtype, Q in Connect

Threshold: For ThresholdValue, enter any whole number from 1 to 604800 (inclusive), in seconds. For Comparison, you must enter LT (for "Less than").

UI name: Contacts abandoned in X seconds

SUM_CONTACTS_ANSWERED_IN_X

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, contact/segmentAttributes/connect:Subtype, Q in Connect

Threshold: For ThresholdValue, enter any whole number from 1 to 604800 (inclusive), in seconds. For Comparison, you must enter LT (for "Less than").

UI name: Contacts answered in X seconds

SUM_CONTACT_FLOW_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Q in Connect

UI name: Contact flow time

SUM_CONTACT_TIME_AGENT

Unit: Seconds

Valid groupings and filters: Routing Profile, Agent, Agent Hierarchy

UI name: Agent on contact time

SUM_CONTACTS_DISCONNECTED

Valid metric filter key: DISCONNECT_REASON

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype, Q in Connect

UI name: Contact disconnected

SUM_ERROR_STATUS_TIME_AGENT

Unit: Seconds

Valid groupings and filters: Routing Profile, Agent, Agent Hierarchy

UI name: Error status time

SUM_HANDLE_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Q in Connect

UI name: Contact handle time

SUM_HOLD_TIME

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Q in Connect

UI name: Customer hold time

SUM_IDLE_TIME_AGENT

Unit: Seconds

Valid groupings and filters: Routing Profile, Agent, Agent Hierarchy

UI name: Agent idle time

SUM_INTERACTION_AND_HOLD_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Q in Connect

UI name: Agent interaction and hold time

SUM_INTERACTION_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

UI name: Agent interaction time

SUM_NON_PRODUCTIVE_TIME_AGENT

Unit: Seconds

Valid groupings and filters: Routing Profile, Agent, Agent Hierarchy

UI name: Non-Productive Time

SUM_ONLINE_TIME_AGENT

Unit: Seconds

Valid groupings and filters: Routing Profile, Agent, Agent Hierarchy

UI name: Online time

SUM_RETRY_CALLBACK_ATTEMPTS

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, contact/segmentAttributes/connect:Subtype, Q in Connect

UI name: Callback attempts


/// - [`next_token(impl Into)`](crate::operation::get_metric_data_v2::builders::GetMetricDataV2FluentBuilder::next_token) / [`set_next_token(Option)`](crate::operation::get_metric_data_v2::builders::GetMetricDataV2FluentBuilder::set_next_token):
required: **false**

The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.


/// - [`max_results(i32)`](crate::operation::get_metric_data_v2::builders::GetMetricDataV2FluentBuilder::max_results) / [`set_max_results(Option)`](crate::operation::get_metric_data_v2::builders::GetMetricDataV2FluentBuilder::set_max_results):
required: **false**

The maximum number of results to return per page.


/// - On success, responds with [`GetMetricDataV2Output`](crate::operation::get_metric_data_v2::GetMetricDataV2Output) with field(s): diff --git a/sdk/connect/src/client/search_agent_statuses.rs b/sdk/connect/src/client/search_agent_statuses.rs new file mode 100644 index 000000000000..a3e275afad21 --- /dev/null +++ b/sdk/connect/src/client/search_agent_statuses.rs @@ -0,0 +1,20 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. +impl super::Client { + /// Constructs a fluent builder for the [`SearchAgentStatuses`](crate::operation::search_agent_statuses::builders::SearchAgentStatusesFluentBuilder) operation. + /// This operation supports pagination; See [`into_paginator()`](crate::operation::search_agent_statuses::builders::SearchAgentStatusesFluentBuilder::into_paginator). + /// + /// - The fluent builder is configurable: + /// - [`instance_id(impl Into)`](crate::operation::search_agent_statuses::builders::SearchAgentStatusesFluentBuilder::instance_id) / [`set_instance_id(Option)`](crate::operation::search_agent_statuses::builders::SearchAgentStatusesFluentBuilder::set_instance_id):
required: **true**

The identifier of the Amazon Connect instance. You can find the instanceId in the ARN of the instance.


+ /// - [`next_token(impl Into)`](crate::operation::search_agent_statuses::builders::SearchAgentStatusesFluentBuilder::next_token) / [`set_next_token(Option)`](crate::operation::search_agent_statuses::builders::SearchAgentStatusesFluentBuilder::set_next_token):
required: **false**

The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.


+ /// - [`max_results(i32)`](crate::operation::search_agent_statuses::builders::SearchAgentStatusesFluentBuilder::max_results) / [`set_max_results(Option)`](crate::operation::search_agent_statuses::builders::SearchAgentStatusesFluentBuilder::set_max_results):
required: **false**

The maximum number of results to return per page.


+ /// - [`search_filter(AgentStatusSearchFilter)`](crate::operation::search_agent_statuses::builders::SearchAgentStatusesFluentBuilder::search_filter) / [`set_search_filter(Option)`](crate::operation::search_agent_statuses::builders::SearchAgentStatusesFluentBuilder::set_search_filter):
required: **false**

Filters to be applied to search results.


+ /// - [`search_criteria(AgentStatusSearchCriteria)`](crate::operation::search_agent_statuses::builders::SearchAgentStatusesFluentBuilder::search_criteria) / [`set_search_criteria(Option)`](crate::operation::search_agent_statuses::builders::SearchAgentStatusesFluentBuilder::set_search_criteria):
required: **false**

The search criteria to be used to return agent statuses.


+ /// - On success, responds with [`SearchAgentStatusesOutput`](crate::operation::search_agent_statuses::SearchAgentStatusesOutput) with field(s): + /// - [`agent_statuses(Option>)`](crate::operation::search_agent_statuses::SearchAgentStatusesOutput::agent_statuses):

The search criteria to be used to return agent statuses.

+ /// - [`next_token(Option)`](crate::operation::search_agent_statuses::SearchAgentStatusesOutput::next_token):

If there are additional results, this is the token for the next set of results.

+ /// - [`approximate_total_count(Option)`](crate::operation::search_agent_statuses::SearchAgentStatusesOutput::approximate_total_count):

The total number of agent statuses which matched your search query.

+ /// - On failure, responds with [`SdkError`](crate::operation::search_agent_statuses::SearchAgentStatusesError) + pub fn search_agent_statuses(&self) -> crate::operation::search_agent_statuses::builders::SearchAgentStatusesFluentBuilder { + crate::operation::search_agent_statuses::builders::SearchAgentStatusesFluentBuilder::new(self.handle.clone()) + } +} diff --git a/sdk/connect/src/client/search_resource_tags.rs b/sdk/connect/src/client/search_resource_tags.rs index 26ec8457f0bf..51e30a6761a2 100644 --- a/sdk/connect/src/client/search_resource_tags.rs +++ b/sdk/connect/src/client/search_resource_tags.rs @@ -5,7 +5,7 @@ impl super::Client { /// /// - The fluent builder is configurable: /// - [`instance_id(impl Into)`](crate::operation::search_resource_tags::builders::SearchResourceTagsFluentBuilder::instance_id) / [`set_instance_id(Option)`](crate::operation::search_resource_tags::builders::SearchResourceTagsFluentBuilder::set_instance_id):
required: **true**

The identifier of the Amazon Connect instance. You can find the instanceId in the Amazon Resource Name (ARN) of the instance.


- /// - [`resource_types(impl Into)`](crate::operation::search_resource_tags::builders::SearchResourceTagsFluentBuilder::resource_types) / [`set_resource_types(Option>)`](crate::operation::search_resource_tags::builders::SearchResourceTagsFluentBuilder::set_resource_types):
required: **false**

The list of resource types to be used to search tags from. If not provided or if any empty list is provided, this API will search from all supported resource types.


+ /// - [`resource_types(impl Into)`](crate::operation::search_resource_tags::builders::SearchResourceTagsFluentBuilder::resource_types) / [`set_resource_types(Option>)`](crate::operation::search_resource_tags::builders::SearchResourceTagsFluentBuilder::set_resource_types):
required: **false**

The list of resource types to be used to search tags from. If not provided or if any empty list is provided, this API will search from all supported resource types.

Supported resource types

  • AGENT

  • ROUTING_PROFILE

  • STANDARD_QUEUE

  • SECURITY_PROFILE

  • OPERATING_HOURS

  • PROMPT

  • CONTACT_FLOW

  • FLOW_MODULE


/// - [`next_token(impl Into)`](crate::operation::search_resource_tags::builders::SearchResourceTagsFluentBuilder::next_token) / [`set_next_token(Option)`](crate::operation::search_resource_tags::builders::SearchResourceTagsFluentBuilder::set_next_token):
required: **false**

The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.


/// - [`max_results(i32)`](crate::operation::search_resource_tags::builders::SearchResourceTagsFluentBuilder::max_results) / [`set_max_results(Option)`](crate::operation::search_resource_tags::builders::SearchResourceTagsFluentBuilder::set_max_results):
required: **false**

The maximum number of results to return per page.


/// - [`search_criteria(ResourceTagsSearchCriteria)`](crate::operation::search_resource_tags::builders::SearchResourceTagsFluentBuilder::search_criteria) / [`set_search_criteria(Option)`](crate::operation::search_resource_tags::builders::SearchResourceTagsFluentBuilder::set_search_criteria):
required: **false**

The search criteria to be used to return tags.


diff --git a/sdk/connect/src/client/search_user_hierarchy_groups.rs b/sdk/connect/src/client/search_user_hierarchy_groups.rs new file mode 100644 index 000000000000..f6c537f3f6f2 --- /dev/null +++ b/sdk/connect/src/client/search_user_hierarchy_groups.rs @@ -0,0 +1,20 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. +impl super::Client { + /// Constructs a fluent builder for the [`SearchUserHierarchyGroups`](crate::operation::search_user_hierarchy_groups::builders::SearchUserHierarchyGroupsFluentBuilder) operation. + /// This operation supports pagination; See [`into_paginator()`](crate::operation::search_user_hierarchy_groups::builders::SearchUserHierarchyGroupsFluentBuilder::into_paginator). + /// + /// - The fluent builder is configurable: + /// - [`instance_id(impl Into)`](crate::operation::search_user_hierarchy_groups::builders::SearchUserHierarchyGroupsFluentBuilder::instance_id) / [`set_instance_id(Option)`](crate::operation::search_user_hierarchy_groups::builders::SearchUserHierarchyGroupsFluentBuilder::set_instance_id):
required: **true**

The identifier of the Amazon Connect instance. You can find the instanceId in the ARN of the instance.


+ /// - [`next_token(impl Into)`](crate::operation::search_user_hierarchy_groups::builders::SearchUserHierarchyGroupsFluentBuilder::next_token) / [`set_next_token(Option)`](crate::operation::search_user_hierarchy_groups::builders::SearchUserHierarchyGroupsFluentBuilder::set_next_token):
required: **false**

The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.


+ /// - [`max_results(i32)`](crate::operation::search_user_hierarchy_groups::builders::SearchUserHierarchyGroupsFluentBuilder::max_results) / [`set_max_results(Option)`](crate::operation::search_user_hierarchy_groups::builders::SearchUserHierarchyGroupsFluentBuilder::set_max_results):
required: **false**

The maximum number of results to return per page.


+ /// - [`search_filter(UserHierarchyGroupSearchFilter)`](crate::operation::search_user_hierarchy_groups::builders::SearchUserHierarchyGroupsFluentBuilder::search_filter) / [`set_search_filter(Option)`](crate::operation::search_user_hierarchy_groups::builders::SearchUserHierarchyGroupsFluentBuilder::set_search_filter):
required: **false**

Filters to be applied to search results.


+ /// - [`search_criteria(UserHierarchyGroupSearchCriteria)`](crate::operation::search_user_hierarchy_groups::builders::SearchUserHierarchyGroupsFluentBuilder::search_criteria) / [`set_search_criteria(Option)`](crate::operation::search_user_hierarchy_groups::builders::SearchUserHierarchyGroupsFluentBuilder::set_search_criteria):
required: **false**

The search criteria to be used to return UserHierarchyGroups.


+ /// - On success, responds with [`SearchUserHierarchyGroupsOutput`](crate::operation::search_user_hierarchy_groups::SearchUserHierarchyGroupsOutput) with field(s): + /// - [`user_hierarchy_groups(Option>)`](crate::operation::search_user_hierarchy_groups::SearchUserHierarchyGroupsOutput::user_hierarchy_groups):

Information about the userHierarchyGroups.

+ /// - [`next_token(Option)`](crate::operation::search_user_hierarchy_groups::SearchUserHierarchyGroupsOutput::next_token):

If there are additional results, this is the token for the next set of results.

+ /// - [`approximate_total_count(Option)`](crate::operation::search_user_hierarchy_groups::SearchUserHierarchyGroupsOutput::approximate_total_count):

The total number of userHierarchyGroups which matched your search query.

+ /// - On failure, responds with [`SdkError`](crate::operation::search_user_hierarchy_groups::SearchUserHierarchyGroupsError) + pub fn search_user_hierarchy_groups(&self) -> crate::operation::search_user_hierarchy_groups::builders::SearchUserHierarchyGroupsFluentBuilder { + crate::operation::search_user_hierarchy_groups::builders::SearchUserHierarchyGroupsFluentBuilder::new(self.handle.clone()) + } +} diff --git a/sdk/connect/src/error_meta.rs b/sdk/connect/src/error_meta.rs index 19ea406fa11f..9a914890a023 100644 --- a/sdk/connect/src/error_meta.rs +++ b/sdk/connect/src/error_meta.rs @@ -6240,6 +6240,40 @@ impl From From<::aws_smithy_runtime_api::client::result::SdkError> for Error +where + R: Send + Sync + std::fmt::Debug + 'static, +{ + fn from(err: ::aws_smithy_runtime_api::client::result::SdkError) -> Self { + match err { + ::aws_smithy_runtime_api::client::result::SdkError::ServiceError(context) => Self::from(context.into_err()), + _ => Error::Unhandled(crate::error::sealed_unhandled::Unhandled { + meta: ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(), + source: err.into(), + }), + } + } +} +impl From for Error { + fn from(err: crate::operation::search_agent_statuses::SearchAgentStatusesError) -> Self { + match err { + crate::operation::search_agent_statuses::SearchAgentStatusesError::InternalServiceException(inner) => { + Error::InternalServiceException(inner) + } + crate::operation::search_agent_statuses::SearchAgentStatusesError::InvalidParameterException(inner) => { + Error::InvalidParameterException(inner) + } + crate::operation::search_agent_statuses::SearchAgentStatusesError::InvalidRequestException(inner) => { + Error::InvalidRequestException(inner) + } + crate::operation::search_agent_statuses::SearchAgentStatusesError::ResourceNotFoundException(inner) => { + Error::ResourceNotFoundException(inner) + } + crate::operation::search_agent_statuses::SearchAgentStatusesError::ThrottlingException(inner) => Error::ThrottlingException(inner), + crate::operation::search_agent_statuses::SearchAgentStatusesError::Unhandled(inner) => Error::Unhandled(inner), + } + } +} impl From<::aws_smithy_runtime_api::client::result::SdkError> for Error @@ -6648,6 +6682,45 @@ impl From From<::aws_smithy_runtime_api::client::result::SdkError> + for Error +where + R: Send + Sync + std::fmt::Debug + 'static, +{ + fn from( + err: ::aws_smithy_runtime_api::client::result::SdkError, + ) -> Self { + match err { + ::aws_smithy_runtime_api::client::result::SdkError::ServiceError(context) => Self::from(context.into_err()), + _ => Error::Unhandled(crate::error::sealed_unhandled::Unhandled { + meta: ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(), + source: err.into(), + }), + } + } +} +impl From for Error { + fn from(err: crate::operation::search_user_hierarchy_groups::SearchUserHierarchyGroupsError) -> Self { + match err { + crate::operation::search_user_hierarchy_groups::SearchUserHierarchyGroupsError::InternalServiceException(inner) => { + Error::InternalServiceException(inner) + } + crate::operation::search_user_hierarchy_groups::SearchUserHierarchyGroupsError::InvalidParameterException(inner) => { + Error::InvalidParameterException(inner) + } + crate::operation::search_user_hierarchy_groups::SearchUserHierarchyGroupsError::InvalidRequestException(inner) => { + Error::InvalidRequestException(inner) + } + crate::operation::search_user_hierarchy_groups::SearchUserHierarchyGroupsError::ResourceNotFoundException(inner) => { + Error::ResourceNotFoundException(inner) + } + crate::operation::search_user_hierarchy_groups::SearchUserHierarchyGroupsError::ThrottlingException(inner) => { + Error::ThrottlingException(inner) + } + crate::operation::search_user_hierarchy_groups::SearchUserHierarchyGroupsError::Unhandled(inner) => Error::Unhandled(inner), + } + } +} impl From<::aws_smithy_runtime_api::client::result::SdkError> for Error where R: Send + Sync + std::fmt::Debug + 'static, diff --git a/sdk/connect/src/lens.rs b/sdk/connect/src/lens.rs index 6e543570c0bf..f21c543a2041 100644 --- a/sdk/connect/src/lens.rs +++ b/sdk/connect/src/lens.rs @@ -469,6 +469,16 @@ pub(crate) fn reflens_list_views_output_output_next_token( ::std::option::Option::Some(input) } +pub(crate) fn reflens_search_agent_statuses_output_output_next_token( + input: &crate::operation::search_agent_statuses::SearchAgentStatusesOutput, +) -> ::std::option::Option<&::std::string::String> { + let input = match &input.next_token { + ::std::option::Option::None => return ::std::option::Option::None, + ::std::option::Option::Some(t) => t, + }; + ::std::option::Option::Some(input) +} + pub(crate) fn reflens_search_available_phone_numbers_output_output_next_token( input: &crate::operation::search_available_phone_numbers::SearchAvailablePhoneNumbersOutput, ) -> ::std::option::Option<&::std::string::String> { @@ -589,6 +599,16 @@ pub(crate) fn reflens_search_security_profiles_output_output_next_token( ::std::option::Option::Some(input) } +pub(crate) fn reflens_search_user_hierarchy_groups_output_output_next_token( + input: &crate::operation::search_user_hierarchy_groups::SearchUserHierarchyGroupsOutput, +) -> ::std::option::Option<&::std::string::String> { + let input = match &input.next_token { + ::std::option::Option::None => return ::std::option::Option::None, + ::std::option::Option::Some(t) => t, + }; + ::std::option::Option::Some(input) +} + pub(crate) fn reflens_search_users_output_output_next_token( input: &crate::operation::search_users::SearchUsersOutput, ) -> ::std::option::Option<&::std::string::String> { @@ -1014,6 +1034,16 @@ pub(crate) fn lens_list_views_output_output_views_summary_list( ::std::option::Option::Some(input) } +pub(crate) fn lens_search_agent_statuses_output_output_agent_statuses( + input: crate::operation::search_agent_statuses::SearchAgentStatusesOutput, +) -> ::std::option::Option<::std::vec::Vec> { + let input = match input.agent_statuses { + ::std::option::Option::None => return ::std::option::Option::None, + ::std::option::Option::Some(t) => t, + }; + ::std::option::Option::Some(input) +} + pub(crate) fn lens_search_available_phone_numbers_output_output_available_numbers_list( input: crate::operation::search_available_phone_numbers::SearchAvailablePhoneNumbersOutput, ) -> ::std::option::Option<::std::vec::Vec> { @@ -1131,6 +1161,16 @@ pub(crate) fn lens_search_security_profiles_output_output_security_profiles( ::std::option::Option::Some(input) } +pub(crate) fn lens_search_user_hierarchy_groups_output_output_user_hierarchy_groups( + input: crate::operation::search_user_hierarchy_groups::SearchUserHierarchyGroupsOutput, +) -> ::std::option::Option<::std::vec::Vec> { + let input = match input.user_hierarchy_groups { + ::std::option::Option::None => return ::std::option::Option::None, + ::std::option::Option::Some(t) => t, + }; + ::std::option::Option::Some(input) +} + pub(crate) fn lens_search_users_output_output_users( input: crate::operation::search_users::SearchUsersOutput, ) -> ::std::option::Option<::std::vec::Vec> { diff --git a/sdk/connect/src/lib.rs b/sdk/connect/src/lib.rs index 2c18bd694e44..5025f8684cc7 100644 --- a/sdk/connect/src/lib.rs +++ b/sdk/connect/src/lib.rs @@ -40,7 +40,7 @@ //! ```toml //! [dependencies] //! aws-config = { version = "1.1.7", features = ["behavior-version-latest"] } -//! aws-sdk-connect = "1.51.0" +//! aws-sdk-connect = "1.52.0" //! tokio = { version = "1", features = ["full"] } //! ``` //! diff --git a/sdk/connect/src/operation.rs b/sdk/connect/src/operation.rs index e1651cc75be1..422c4d5e6b36 100644 --- a/sdk/connect/src/operation.rs +++ b/sdk/connect/src/operation.rs @@ -520,6 +520,9 @@ pub mod resume_contact; /// Types for the `ResumeContactRecording` operation. pub mod resume_contact_recording; +/// Types for the `SearchAgentStatuses` operation. +pub mod search_agent_statuses; + /// Types for the `SearchAvailablePhoneNumbers` operation. pub mod search_available_phone_numbers; @@ -556,6 +559,9 @@ pub mod search_routing_profiles; /// Types for the `SearchSecurityProfiles` operation. pub mod search_security_profiles; +/// Types for the `SearchUserHierarchyGroups` operation. +pub mod search_user_hierarchy_groups; + /// Types for the `SearchUsers` operation. pub mod search_users; diff --git a/sdk/connect/src/operation/get_metric_data_v2/_get_metric_data_v2_input.rs b/sdk/connect/src/operation/get_metric_data_v2/_get_metric_data_v2_input.rs index 09d27f939424..04137207faf9 100644 --- a/sdk/connect/src/operation/get_metric_data_v2/_get_metric_data_v2_input.rs +++ b/sdk/connect/src/operation/get_metric_data_v2/_get_metric_data_v2_input.rs @@ -492,7 +492,7 @@ pub struct GetMetricDataV2Input { ///

Unit: Count

///

Valid groupings and filters: Queue, Channel, Routing Profile, Q in Connect

///

Threshold: For ThresholdValue, enter any whole number from 1 to 604800 (inclusive), in seconds. For Comparison, you must enter LT (for "Less than").

- ///

UI name: This metric is not available in Amazon Connect admin website.

+ ///

UI name: Contacts removed from queue in X seconds

/// ///
/// CONTACTS_RESOLVED_IN_X @@ -1346,7 +1346,7 @@ impl GetMetricDataV2Input { ///

Unit: Count

///

Valid groupings and filters: Queue, Channel, Routing Profile, Q in Connect

///

Threshold: For ThresholdValue, enter any whole number from 1 to 604800 (inclusive), in seconds. For Comparison, you must enter LT (for "Less than").

- ///

UI name: This metric is not available in Amazon Connect admin website.

+ ///

UI name: Contacts removed from queue in X seconds

/// ///
/// CONTACTS_RESOLVED_IN_X @@ -2424,7 +2424,7 @@ impl GetMetricDataV2InputBuilder { ///

Unit: Count

///

Valid groupings and filters: Queue, Channel, Routing Profile, Q in Connect

///

Threshold: For ThresholdValue, enter any whole number from 1 to 604800 (inclusive), in seconds. For Comparison, you must enter LT (for "Less than").

- ///

UI name: This metric is not available in Amazon Connect admin website.

+ ///

UI name: Contacts removed from queue in X seconds

/// ///
/// CONTACTS_RESOLVED_IN_X @@ -3189,7 +3189,7 @@ impl GetMetricDataV2InputBuilder { ///

Unit: Count

///

Valid groupings and filters: Queue, Channel, Routing Profile, Q in Connect

///

Threshold: For ThresholdValue, enter any whole number from 1 to 604800 (inclusive), in seconds. For Comparison, you must enter LT (for "Less than").

- ///

UI name: This metric is not available in Amazon Connect admin website.

+ ///

UI name: Contacts removed from queue in X seconds

/// ///
/// CONTACTS_RESOLVED_IN_X @@ -3952,7 +3952,7 @@ impl GetMetricDataV2InputBuilder { ///

Unit: Count

///

Valid groupings and filters: Queue, Channel, Routing Profile, Q in Connect

///

Threshold: For ThresholdValue, enter any whole number from 1 to 604800 (inclusive), in seconds. For Comparison, you must enter LT (for "Less than").

- ///

UI name: This metric is not available in Amazon Connect admin website.

+ ///

UI name: Contacts removed from queue in X seconds

/// ///
/// CONTACTS_RESOLVED_IN_X diff --git a/sdk/connect/src/operation/get_metric_data_v2/builders.rs b/sdk/connect/src/operation/get_metric_data_v2/builders.rs index 7af7baa97c25..050b4876e28f 100644 --- a/sdk/connect/src/operation/get_metric_data_v2/builders.rs +++ b/sdk/connect/src/operation/get_metric_data_v2/builders.rs @@ -812,7 +812,7 @@ impl GetMetricDataV2FluentBuilder { ///

Unit: Count

///

Valid groupings and filters: Queue, Channel, Routing Profile, Q in Connect

///

Threshold: For ThresholdValue, enter any whole number from 1 to 604800 (inclusive), in seconds. For Comparison, you must enter LT (for "Less than").

- ///

UI name: This metric is not available in Amazon Connect admin website.

+ ///

UI name: Contacts removed from queue in X seconds

/// ///
/// CONTACTS_RESOLVED_IN_X @@ -1575,7 +1575,7 @@ impl GetMetricDataV2FluentBuilder { ///

Unit: Count

///

Valid groupings and filters: Queue, Channel, Routing Profile, Q in Connect

///

Threshold: For ThresholdValue, enter any whole number from 1 to 604800 (inclusive), in seconds. For Comparison, you must enter LT (for "Less than").

- ///

UI name: This metric is not available in Amazon Connect admin website.

+ ///

UI name: Contacts removed from queue in X seconds

/// ///
/// CONTACTS_RESOLVED_IN_X @@ -2338,7 +2338,7 @@ impl GetMetricDataV2FluentBuilder { ///

Unit: Count

///

Valid groupings and filters: Queue, Channel, Routing Profile, Q in Connect

///

Threshold: For ThresholdValue, enter any whole number from 1 to 604800 (inclusive), in seconds. For Comparison, you must enter LT (for "Less than").

- ///

UI name: This metric is not available in Amazon Connect admin website.

+ ///

UI name: Contacts removed from queue in X seconds

/// ///
/// CONTACTS_RESOLVED_IN_X diff --git a/sdk/connect/src/operation/search_agent_statuses.rs b/sdk/connect/src/operation/search_agent_statuses.rs new file mode 100644 index 000000000000..c20f7c35b223 --- /dev/null +++ b/sdk/connect/src/operation/search_agent_statuses.rs @@ -0,0 +1,395 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. +/// Orchestration and serialization glue logic for `SearchAgentStatuses`. +#[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)] +#[non_exhaustive] +pub struct SearchAgentStatuses; +impl SearchAgentStatuses { + /// Creates a new `SearchAgentStatuses` + pub fn new() -> Self { + Self + } + pub(crate) async fn orchestrate( + runtime_plugins: &::aws_smithy_runtime_api::client::runtime_plugin::RuntimePlugins, + input: crate::operation::search_agent_statuses::SearchAgentStatusesInput, + ) -> ::std::result::Result< + crate::operation::search_agent_statuses::SearchAgentStatusesOutput, + ::aws_smithy_runtime_api::client::result::SdkError< + crate::operation::search_agent_statuses::SearchAgentStatusesError, + ::aws_smithy_runtime_api::client::orchestrator::HttpResponse, + >, + > { + let map_err = |err: ::aws_smithy_runtime_api::client::result::SdkError< + ::aws_smithy_runtime_api::client::interceptors::context::Error, + ::aws_smithy_runtime_api::client::orchestrator::HttpResponse, + >| { + err.map_service_error(|err| { + err.downcast::() + .expect("correct error type") + }) + }; + let context = Self::orchestrate_with_stop_point(runtime_plugins, input, ::aws_smithy_runtime::client::orchestrator::StopPoint::None) + .await + .map_err(map_err)?; + let output = context.finalize().map_err(map_err)?; + ::std::result::Result::Ok( + output + .downcast::() + .expect("correct output type"), + ) + } + + pub(crate) async fn orchestrate_with_stop_point( + runtime_plugins: &::aws_smithy_runtime_api::client::runtime_plugin::RuntimePlugins, + input: crate::operation::search_agent_statuses::SearchAgentStatusesInput, + stop_point: ::aws_smithy_runtime::client::orchestrator::StopPoint, + ) -> ::std::result::Result< + ::aws_smithy_runtime_api::client::interceptors::context::InterceptorContext, + ::aws_smithy_runtime_api::client::result::SdkError< + ::aws_smithy_runtime_api::client::interceptors::context::Error, + ::aws_smithy_runtime_api::client::orchestrator::HttpResponse, + >, + > { + let input = ::aws_smithy_runtime_api::client::interceptors::context::Input::erase(input); + ::aws_smithy_runtime::client::orchestrator::invoke_with_stop_point("connect", "SearchAgentStatuses", input, runtime_plugins, stop_point).await + } + + pub(crate) fn operation_runtime_plugins( + client_runtime_plugins: ::aws_smithy_runtime_api::client::runtime_plugin::RuntimePlugins, + client_config: &crate::config::Config, + config_override: ::std::option::Option, + ) -> ::aws_smithy_runtime_api::client::runtime_plugin::RuntimePlugins { + let mut runtime_plugins = client_runtime_plugins.with_operation_plugin(Self::new()); + runtime_plugins = runtime_plugins.with_client_plugin(crate::auth_plugin::DefaultAuthOptionsPlugin::new(vec![ + ::aws_runtime::auth::sigv4::SCHEME_ID, + ])); + if let ::std::option::Option::Some(config_override) = config_override { + for plugin in config_override.runtime_plugins.iter().cloned() { + runtime_plugins = runtime_plugins.with_operation_plugin(plugin); + } + runtime_plugins = runtime_plugins.with_operation_plugin(crate::config::ConfigOverrideRuntimePlugin::new( + config_override, + client_config.config.clone(), + &client_config.runtime_components, + )); + } + runtime_plugins + } +} +impl ::aws_smithy_runtime_api::client::runtime_plugin::RuntimePlugin for SearchAgentStatuses { + fn config(&self) -> ::std::option::Option<::aws_smithy_types::config_bag::FrozenLayer> { + let mut cfg = ::aws_smithy_types::config_bag::Layer::new("SearchAgentStatuses"); + + cfg.store_put(::aws_smithy_runtime_api::client::ser_de::SharedRequestSerializer::new( + SearchAgentStatusesRequestSerializer, + )); + cfg.store_put(::aws_smithy_runtime_api::client::ser_de::SharedResponseDeserializer::new( + SearchAgentStatusesResponseDeserializer, + )); + + cfg.store_put(::aws_smithy_runtime_api::client::auth::AuthSchemeOptionResolverParams::new( + ::aws_smithy_runtime_api::client::auth::static_resolver::StaticAuthSchemeOptionResolverParams::new(), + )); + + cfg.store_put(::aws_smithy_runtime_api::client::orchestrator::Metadata::new( + "SearchAgentStatuses", + "connect", + )); + let mut signing_options = ::aws_runtime::auth::SigningOptions::default(); + signing_options.double_uri_encode = true; + signing_options.content_sha256_header = false; + signing_options.normalize_uri_path = true; + signing_options.payload_override = None; + + cfg.store_put(::aws_runtime::auth::SigV4OperationSigningConfig { + signing_options, + ..::std::default::Default::default() + }); + + ::std::option::Option::Some(cfg.freeze()) + } + + fn runtime_components( + &self, + _: &::aws_smithy_runtime_api::client::runtime_components::RuntimeComponentsBuilder, + ) -> ::std::borrow::Cow<'_, ::aws_smithy_runtime_api::client::runtime_components::RuntimeComponentsBuilder> { + #[allow(unused_mut)] + let mut rcb = ::aws_smithy_runtime_api::client::runtime_components::RuntimeComponentsBuilder::new("SearchAgentStatuses") + .with_interceptor(::aws_smithy_runtime::client::stalled_stream_protection::StalledStreamProtectionInterceptor::default()) + .with_interceptor(SearchAgentStatusesEndpointParamsInterceptor) + .with_retry_classifier(::aws_smithy_runtime::client::retries::classifiers::TransientErrorClassifier::< + crate::operation::search_agent_statuses::SearchAgentStatusesError, + >::new()) + .with_retry_classifier(::aws_smithy_runtime::client::retries::classifiers::ModeledAsRetryableClassifier::< + crate::operation::search_agent_statuses::SearchAgentStatusesError, + >::new()) + .with_retry_classifier(::aws_runtime::retries::classifiers::AwsErrorCodeClassifier::< + crate::operation::search_agent_statuses::SearchAgentStatusesError, + >::new()); + + ::std::borrow::Cow::Owned(rcb) + } +} + +#[derive(Debug)] +struct SearchAgentStatusesResponseDeserializer; +impl ::aws_smithy_runtime_api::client::ser_de::DeserializeResponse for SearchAgentStatusesResponseDeserializer { + fn deserialize_nonstreaming( + &self, + response: &::aws_smithy_runtime_api::client::orchestrator::HttpResponse, + ) -> ::aws_smithy_runtime_api::client::interceptors::context::OutputOrError { + let (success, status) = (response.status().is_success(), response.status().as_u16()); + let headers = response.headers(); + let body = response.body().bytes().expect("body loaded"); + #[allow(unused_mut)] + let mut force_error = false; + ::tracing::debug!(request_id = ?::aws_types::request_id::RequestId::request_id(response)); + let parse_result = if !success && status != 200 || force_error { + crate::protocol_serde::shape_search_agent_statuses::de_search_agent_statuses_http_error(status, headers, body) + } else { + crate::protocol_serde::shape_search_agent_statuses::de_search_agent_statuses_http_response(status, headers, body) + }; + crate::protocol_serde::type_erase_result(parse_result) + } +} +#[derive(Debug)] +struct SearchAgentStatusesRequestSerializer; +impl ::aws_smithy_runtime_api::client::ser_de::SerializeRequest for SearchAgentStatusesRequestSerializer { + #[allow(unused_mut, clippy::let_and_return, clippy::needless_borrow, clippy::useless_conversion)] + fn serialize_input( + &self, + input: ::aws_smithy_runtime_api::client::interceptors::context::Input, + _cfg: &mut ::aws_smithy_types::config_bag::ConfigBag, + ) -> ::std::result::Result<::aws_smithy_runtime_api::client::orchestrator::HttpRequest, ::aws_smithy_runtime_api::box_error::BoxError> { + let input = input + .downcast::() + .expect("correct type"); + let _header_serialization_settings = _cfg + .load::() + .cloned() + .unwrap_or_default(); + let mut request_builder = { + fn uri_base( + _input: &crate::operation::search_agent_statuses::SearchAgentStatusesInput, + output: &mut ::std::string::String, + ) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> { + use ::std::fmt::Write as _; + ::std::write!(output, "/search-agent-statuses").expect("formatting should succeed"); + ::std::result::Result::Ok(()) + } + #[allow(clippy::unnecessary_wraps)] + fn update_http_builder( + input: &crate::operation::search_agent_statuses::SearchAgentStatusesInput, + builder: ::http::request::Builder, + ) -> ::std::result::Result<::http::request::Builder, ::aws_smithy_types::error::operation::BuildError> { + let mut uri = ::std::string::String::new(); + uri_base(input, &mut uri)?; + ::std::result::Result::Ok(builder.method("POST").uri(uri)) + } + let mut builder = update_http_builder(&input, ::http::request::Builder::new())?; + builder = _header_serialization_settings.set_default_header(builder, ::http::header::CONTENT_TYPE, "application/json"); + builder + }; + let body = ::aws_smithy_types::body::SdkBody::from(crate::protocol_serde::shape_search_agent_statuses::ser_search_agent_statuses_input( + &input, + )?); + if let Some(content_length) = body.content_length() { + let content_length = content_length.to_string(); + request_builder = _header_serialization_settings.set_default_header(request_builder, ::http::header::CONTENT_LENGTH, &content_length); + } + ::std::result::Result::Ok(request_builder.body(body).expect("valid request").try_into().unwrap()) + } +} +#[derive(Debug)] +struct SearchAgentStatusesEndpointParamsInterceptor; + +impl ::aws_smithy_runtime_api::client::interceptors::Intercept for SearchAgentStatusesEndpointParamsInterceptor { + fn name(&self) -> &'static str { + "SearchAgentStatusesEndpointParamsInterceptor" + } + + fn read_before_execution( + &self, + context: &::aws_smithy_runtime_api::client::interceptors::context::BeforeSerializationInterceptorContextRef< + '_, + ::aws_smithy_runtime_api::client::interceptors::context::Input, + ::aws_smithy_runtime_api::client::interceptors::context::Output, + ::aws_smithy_runtime_api::client::interceptors::context::Error, + >, + cfg: &mut ::aws_smithy_types::config_bag::ConfigBag, + ) -> ::std::result::Result<(), ::aws_smithy_runtime_api::box_error::BoxError> { + let _input = context + .input() + .downcast_ref::() + .ok_or("failed to downcast to SearchAgentStatusesInput")?; + + let params = crate::config::endpoint::Params::builder() + .set_region(cfg.load::<::aws_types::region::Region>().map(|r| r.as_ref().to_owned())) + .set_use_dual_stack(cfg.load::<::aws_types::endpoint_config::UseDualStack>().map(|ty| ty.0)) + .set_use_fips(cfg.load::<::aws_types::endpoint_config::UseFips>().map(|ty| ty.0)) + .set_endpoint(cfg.load::<::aws_types::endpoint_config::EndpointUrl>().map(|ty| ty.0.clone())) + .build() + .map_err(|err| { + ::aws_smithy_runtime_api::client::interceptors::error::ContextAttachedError::new("endpoint params could not be built", err) + })?; + cfg.interceptor_state() + .store_put(::aws_smithy_runtime_api::client::endpoint::EndpointResolverParams::new(params)); + ::std::result::Result::Ok(()) + } +} + +/// Error type for the `SearchAgentStatusesError` operation. +#[non_exhaustive] +#[derive(::std::fmt::Debug)] +pub enum SearchAgentStatusesError { + ///

Request processing failed because of an error or failure with the service.

+ InternalServiceException(crate::types::error::InternalServiceException), + ///

One or more of the specified parameters are not valid.

+ InvalidParameterException(crate::types::error::InvalidParameterException), + ///

The request is not valid.

+ InvalidRequestException(crate::types::error::InvalidRequestException), + ///

The specified resource was not found.

+ ResourceNotFoundException(crate::types::error::ResourceNotFoundException), + ///

The throttling limit has been exceeded.

+ ThrottlingException(crate::types::error::ThrottlingException), + /// An unexpected error occurred (e.g., invalid JSON returned by the service or an unknown error code). + #[deprecated(note = "Matching `Unhandled` directly is not forwards compatible. Instead, match using a \ + variable wildcard pattern and check `.code()`: + \ +    `err if err.code() == Some(\"SpecificExceptionCode\") => { /* handle the error */ }` + \ + See [`ProvideErrorMetadata`](#impl-ProvideErrorMetadata-for-SearchAgentStatusesError) for what information is available for the error.")] + Unhandled(crate::error::sealed_unhandled::Unhandled), +} +impl SearchAgentStatusesError { + /// Creates the `SearchAgentStatusesError::Unhandled` variant from any error type. + pub fn unhandled( + err: impl ::std::convert::Into<::std::boxed::Box>, + ) -> Self { + Self::Unhandled(crate::error::sealed_unhandled::Unhandled { + source: err.into(), + meta: ::std::default::Default::default(), + }) + } + + /// Creates the `SearchAgentStatusesError::Unhandled` variant from an [`ErrorMetadata`](::aws_smithy_types::error::ErrorMetadata). + pub fn generic(err: ::aws_smithy_types::error::ErrorMetadata) -> Self { + Self::Unhandled(crate::error::sealed_unhandled::Unhandled { + source: err.clone().into(), + meta: err, + }) + } + /// + /// Returns error metadata, which includes the error code, message, + /// request ID, and potentially additional information. + /// + pub fn meta(&self) -> &::aws_smithy_types::error::ErrorMetadata { + match self { + Self::InternalServiceException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e), + Self::InvalidParameterException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e), + Self::InvalidRequestException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e), + Self::ResourceNotFoundException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e), + Self::ThrottlingException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e), + Self::Unhandled(e) => &e.meta, + } + } + /// Returns `true` if the error kind is `SearchAgentStatusesError::InternalServiceException`. + pub fn is_internal_service_exception(&self) -> bool { + matches!(self, Self::InternalServiceException(_)) + } + /// Returns `true` if the error kind is `SearchAgentStatusesError::InvalidParameterException`. + pub fn is_invalid_parameter_exception(&self) -> bool { + matches!(self, Self::InvalidParameterException(_)) + } + /// Returns `true` if the error kind is `SearchAgentStatusesError::InvalidRequestException`. + pub fn is_invalid_request_exception(&self) -> bool { + matches!(self, Self::InvalidRequestException(_)) + } + /// Returns `true` if the error kind is `SearchAgentStatusesError::ResourceNotFoundException`. + pub fn is_resource_not_found_exception(&self) -> bool { + matches!(self, Self::ResourceNotFoundException(_)) + } + /// Returns `true` if the error kind is `SearchAgentStatusesError::ThrottlingException`. + pub fn is_throttling_exception(&self) -> bool { + matches!(self, Self::ThrottlingException(_)) + } +} +impl ::std::error::Error for SearchAgentStatusesError { + fn source(&self) -> ::std::option::Option<&(dyn ::std::error::Error + 'static)> { + match self { + Self::InternalServiceException(_inner) => ::std::option::Option::Some(_inner), + Self::InvalidParameterException(_inner) => ::std::option::Option::Some(_inner), + Self::InvalidRequestException(_inner) => ::std::option::Option::Some(_inner), + Self::ResourceNotFoundException(_inner) => ::std::option::Option::Some(_inner), + Self::ThrottlingException(_inner) => ::std::option::Option::Some(_inner), + Self::Unhandled(_inner) => ::std::option::Option::Some(&*_inner.source), + } + } +} +impl ::std::fmt::Display for SearchAgentStatusesError { + fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result { + match self { + Self::InternalServiceException(_inner) => _inner.fmt(f), + Self::InvalidParameterException(_inner) => _inner.fmt(f), + Self::InvalidRequestException(_inner) => _inner.fmt(f), + Self::ResourceNotFoundException(_inner) => _inner.fmt(f), + Self::ThrottlingException(_inner) => _inner.fmt(f), + Self::Unhandled(_inner) => { + if let ::std::option::Option::Some(code) = ::aws_smithy_types::error::metadata::ProvideErrorMetadata::code(self) { + write!(f, "unhandled error ({code})") + } else { + f.write_str("unhandled error") + } + } + } + } +} +impl ::aws_smithy_types::retry::ProvideErrorKind for SearchAgentStatusesError { + fn code(&self) -> ::std::option::Option<&str> { + ::aws_smithy_types::error::metadata::ProvideErrorMetadata::code(self) + } + fn retryable_error_kind(&self) -> ::std::option::Option<::aws_smithy_types::retry::ErrorKind> { + ::std::option::Option::None + } +} +impl ::aws_smithy_types::error::metadata::ProvideErrorMetadata for SearchAgentStatusesError { + fn meta(&self) -> &::aws_smithy_types::error::ErrorMetadata { + match self { + Self::InternalServiceException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner), + Self::InvalidParameterException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner), + Self::InvalidRequestException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner), + Self::ResourceNotFoundException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner), + Self::ThrottlingException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner), + Self::Unhandled(_inner) => &_inner.meta, + } + } +} +impl ::aws_smithy_runtime_api::client::result::CreateUnhandledError for SearchAgentStatusesError { + fn create_unhandled_error( + source: ::std::boxed::Box, + meta: ::std::option::Option<::aws_smithy_types::error::ErrorMetadata>, + ) -> Self { + Self::Unhandled(crate::error::sealed_unhandled::Unhandled { + source, + meta: meta.unwrap_or_default(), + }) + } +} +impl ::aws_types::request_id::RequestId for crate::operation::search_agent_statuses::SearchAgentStatusesError { + fn request_id(&self) -> Option<&str> { + self.meta().request_id() + } +} + +pub use crate::operation::search_agent_statuses::_search_agent_statuses_output::SearchAgentStatusesOutput; + +pub use crate::operation::search_agent_statuses::_search_agent_statuses_input::SearchAgentStatusesInput; + +mod _search_agent_statuses_input; + +mod _search_agent_statuses_output; + +/// Builders +pub mod builders; + +/// Paginator for this operation +pub mod paginator; diff --git a/sdk/connect/src/operation/search_agent_statuses/_search_agent_statuses_input.rs b/sdk/connect/src/operation/search_agent_statuses/_search_agent_statuses_input.rs new file mode 100644 index 000000000000..610b94ec8eda --- /dev/null +++ b/sdk/connect/src/operation/search_agent_statuses/_search_agent_statuses_input.rs @@ -0,0 +1,141 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. +#[allow(missing_docs)] // documentation missing in model +#[non_exhaustive] +#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)] +pub struct SearchAgentStatusesInput { + ///

The identifier of the Amazon Connect instance. You can find the instanceId in the ARN of the instance.

+ pub instance_id: ::std::option::Option<::std::string::String>, + ///

The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.

+ pub next_token: ::std::option::Option<::std::string::String>, + ///

The maximum number of results to return per page.

+ pub max_results: ::std::option::Option, + ///

Filters to be applied to search results.

+ pub search_filter: ::std::option::Option, + ///

The search criteria to be used to return agent statuses.

+ pub search_criteria: ::std::option::Option, +} +impl SearchAgentStatusesInput { + ///

The identifier of the Amazon Connect instance. You can find the instanceId in the ARN of the instance.

+ pub fn instance_id(&self) -> ::std::option::Option<&str> { + self.instance_id.as_deref() + } + ///

The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.

+ pub fn next_token(&self) -> ::std::option::Option<&str> { + self.next_token.as_deref() + } + ///

The maximum number of results to return per page.

+ pub fn max_results(&self) -> ::std::option::Option { + self.max_results + } + ///

Filters to be applied to search results.

+ pub fn search_filter(&self) -> ::std::option::Option<&crate::types::AgentStatusSearchFilter> { + self.search_filter.as_ref() + } + ///

The search criteria to be used to return agent statuses.

+ pub fn search_criteria(&self) -> ::std::option::Option<&crate::types::AgentStatusSearchCriteria> { + self.search_criteria.as_ref() + } +} +impl SearchAgentStatusesInput { + /// Creates a new builder-style object to manufacture [`SearchAgentStatusesInput`](crate::operation::search_agent_statuses::SearchAgentStatusesInput). + pub fn builder() -> crate::operation::search_agent_statuses::builders::SearchAgentStatusesInputBuilder { + crate::operation::search_agent_statuses::builders::SearchAgentStatusesInputBuilder::default() + } +} + +/// A builder for [`SearchAgentStatusesInput`](crate::operation::search_agent_statuses::SearchAgentStatusesInput). +#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)] +#[non_exhaustive] +pub struct SearchAgentStatusesInputBuilder { + pub(crate) instance_id: ::std::option::Option<::std::string::String>, + pub(crate) next_token: ::std::option::Option<::std::string::String>, + pub(crate) max_results: ::std::option::Option, + pub(crate) search_filter: ::std::option::Option, + pub(crate) search_criteria: ::std::option::Option, +} +impl SearchAgentStatusesInputBuilder { + ///

The identifier of the Amazon Connect instance. You can find the instanceId in the ARN of the instance.

+ /// This field is required. + pub fn instance_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self { + self.instance_id = ::std::option::Option::Some(input.into()); + self + } + ///

The identifier of the Amazon Connect instance. You can find the instanceId in the ARN of the instance.

+ pub fn set_instance_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self { + self.instance_id = input; + self + } + ///

The identifier of the Amazon Connect instance. You can find the instanceId in the ARN of the instance.

+ pub fn get_instance_id(&self) -> &::std::option::Option<::std::string::String> { + &self.instance_id + } + ///

The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.

+ pub fn next_token(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self { + self.next_token = ::std::option::Option::Some(input.into()); + self + } + ///

The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.

+ pub fn set_next_token(mut self, input: ::std::option::Option<::std::string::String>) -> Self { + self.next_token = input; + self + } + ///

The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.

+ pub fn get_next_token(&self) -> &::std::option::Option<::std::string::String> { + &self.next_token + } + ///

The maximum number of results to return per page.

+ pub fn max_results(mut self, input: i32) -> Self { + self.max_results = ::std::option::Option::Some(input); + self + } + ///

The maximum number of results to return per page.

+ pub fn set_max_results(mut self, input: ::std::option::Option) -> Self { + self.max_results = input; + self + } + ///

The maximum number of results to return per page.

+ pub fn get_max_results(&self) -> &::std::option::Option { + &self.max_results + } + ///

Filters to be applied to search results.

+ pub fn search_filter(mut self, input: crate::types::AgentStatusSearchFilter) -> Self { + self.search_filter = ::std::option::Option::Some(input); + self + } + ///

Filters to be applied to search results.

+ pub fn set_search_filter(mut self, input: ::std::option::Option) -> Self { + self.search_filter = input; + self + } + ///

Filters to be applied to search results.

+ pub fn get_search_filter(&self) -> &::std::option::Option { + &self.search_filter + } + ///

The search criteria to be used to return agent statuses.

+ pub fn search_criteria(mut self, input: crate::types::AgentStatusSearchCriteria) -> Self { + self.search_criteria = ::std::option::Option::Some(input); + self + } + ///

The search criteria to be used to return agent statuses.

+ pub fn set_search_criteria(mut self, input: ::std::option::Option) -> Self { + self.search_criteria = input; + self + } + ///

The search criteria to be used to return agent statuses.

+ pub fn get_search_criteria(&self) -> &::std::option::Option { + &self.search_criteria + } + /// Consumes the builder and constructs a [`SearchAgentStatusesInput`](crate::operation::search_agent_statuses::SearchAgentStatusesInput). + pub fn build( + self, + ) -> ::std::result::Result + { + ::std::result::Result::Ok(crate::operation::search_agent_statuses::SearchAgentStatusesInput { + instance_id: self.instance_id, + next_token: self.next_token, + max_results: self.max_results, + search_filter: self.search_filter, + search_criteria: self.search_criteria, + }) + } +} diff --git a/sdk/connect/src/operation/search_agent_statuses/_search_agent_statuses_output.rs b/sdk/connect/src/operation/search_agent_statuses/_search_agent_statuses_output.rs new file mode 100644 index 000000000000..8462a89b0866 --- /dev/null +++ b/sdk/connect/src/operation/search_agent_statuses/_search_agent_statuses_output.rs @@ -0,0 +1,118 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. +#[allow(missing_docs)] // documentation missing in model +#[non_exhaustive] +#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)] +pub struct SearchAgentStatusesOutput { + ///

The search criteria to be used to return agent statuses.

+ pub agent_statuses: ::std::option::Option<::std::vec::Vec>, + ///

If there are additional results, this is the token for the next set of results.

+ pub next_token: ::std::option::Option<::std::string::String>, + ///

The total number of agent statuses which matched your search query.

+ pub approximate_total_count: ::std::option::Option, + _request_id: Option, +} +impl SearchAgentStatusesOutput { + ///

The search criteria to be used to return agent statuses.

+ /// + /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.agent_statuses.is_none()`. + pub fn agent_statuses(&self) -> &[crate::types::AgentStatus] { + self.agent_statuses.as_deref().unwrap_or_default() + } + ///

If there are additional results, this is the token for the next set of results.

+ pub fn next_token(&self) -> ::std::option::Option<&str> { + self.next_token.as_deref() + } + ///

The total number of agent statuses which matched your search query.

+ pub fn approximate_total_count(&self) -> ::std::option::Option { + self.approximate_total_count + } +} +impl ::aws_types::request_id::RequestId for SearchAgentStatusesOutput { + fn request_id(&self) -> Option<&str> { + self._request_id.as_deref() + } +} +impl SearchAgentStatusesOutput { + /// Creates a new builder-style object to manufacture [`SearchAgentStatusesOutput`](crate::operation::search_agent_statuses::SearchAgentStatusesOutput). + pub fn builder() -> crate::operation::search_agent_statuses::builders::SearchAgentStatusesOutputBuilder { + crate::operation::search_agent_statuses::builders::SearchAgentStatusesOutputBuilder::default() + } +} + +/// A builder for [`SearchAgentStatusesOutput`](crate::operation::search_agent_statuses::SearchAgentStatusesOutput). +#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)] +#[non_exhaustive] +pub struct SearchAgentStatusesOutputBuilder { + pub(crate) agent_statuses: ::std::option::Option<::std::vec::Vec>, + pub(crate) next_token: ::std::option::Option<::std::string::String>, + pub(crate) approximate_total_count: ::std::option::Option, + _request_id: Option, +} +impl SearchAgentStatusesOutputBuilder { + /// Appends an item to `agent_statuses`. + /// + /// To override the contents of this collection use [`set_agent_statuses`](Self::set_agent_statuses). + /// + ///

The search criteria to be used to return agent statuses.

+ pub fn agent_statuses(mut self, input: crate::types::AgentStatus) -> Self { + let mut v = self.agent_statuses.unwrap_or_default(); + v.push(input); + self.agent_statuses = ::std::option::Option::Some(v); + self + } + ///

The search criteria to be used to return agent statuses.

+ pub fn set_agent_statuses(mut self, input: ::std::option::Option<::std::vec::Vec>) -> Self { + self.agent_statuses = input; + self + } + ///

The search criteria to be used to return agent statuses.

+ pub fn get_agent_statuses(&self) -> &::std::option::Option<::std::vec::Vec> { + &self.agent_statuses + } + ///

If there are additional results, this is the token for the next set of results.

+ pub fn next_token(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self { + self.next_token = ::std::option::Option::Some(input.into()); + self + } + ///

If there are additional results, this is the token for the next set of results.

+ pub fn set_next_token(mut self, input: ::std::option::Option<::std::string::String>) -> Self { + self.next_token = input; + self + } + ///

If there are additional results, this is the token for the next set of results.

+ pub fn get_next_token(&self) -> &::std::option::Option<::std::string::String> { + &self.next_token + } + ///

The total number of agent statuses which matched your search query.

+ pub fn approximate_total_count(mut self, input: i64) -> Self { + self.approximate_total_count = ::std::option::Option::Some(input); + self + } + ///

The total number of agent statuses which matched your search query.

+ pub fn set_approximate_total_count(mut self, input: ::std::option::Option) -> Self { + self.approximate_total_count = input; + self + } + ///

The total number of agent statuses which matched your search query.

+ pub fn get_approximate_total_count(&self) -> &::std::option::Option { + &self.approximate_total_count + } + pub(crate) fn _request_id(mut self, request_id: impl Into) -> Self { + self._request_id = Some(request_id.into()); + self + } + + pub(crate) fn _set_request_id(&mut self, request_id: Option) -> &mut Self { + self._request_id = request_id; + self + } + /// Consumes the builder and constructs a [`SearchAgentStatusesOutput`](crate::operation::search_agent_statuses::SearchAgentStatusesOutput). + pub fn build(self) -> crate::operation::search_agent_statuses::SearchAgentStatusesOutput { + crate::operation::search_agent_statuses::SearchAgentStatusesOutput { + agent_statuses: self.agent_statuses, + next_token: self.next_token, + approximate_total_count: self.approximate_total_count, + _request_id: self._request_id, + } + } +} diff --git a/sdk/connect/src/operation/search_agent_statuses/builders.rs b/sdk/connect/src/operation/search_agent_statuses/builders.rs new file mode 100644 index 000000000000..0aadfca6f264 --- /dev/null +++ b/sdk/connect/src/operation/search_agent_statuses/builders.rs @@ -0,0 +1,187 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. +pub use crate::operation::search_agent_statuses::_search_agent_statuses_output::SearchAgentStatusesOutputBuilder; + +pub use crate::operation::search_agent_statuses::_search_agent_statuses_input::SearchAgentStatusesInputBuilder; + +impl crate::operation::search_agent_statuses::builders::SearchAgentStatusesInputBuilder { + /// Sends a request with this input using the given client. + pub async fn send_with( + self, + client: &crate::Client, + ) -> ::std::result::Result< + crate::operation::search_agent_statuses::SearchAgentStatusesOutput, + ::aws_smithy_runtime_api::client::result::SdkError< + crate::operation::search_agent_statuses::SearchAgentStatusesError, + ::aws_smithy_runtime_api::client::orchestrator::HttpResponse, + >, + > { + let mut fluent_builder = client.search_agent_statuses(); + fluent_builder.inner = self; + fluent_builder.send().await + } +} +/// Fluent builder constructing a request to `SearchAgentStatuses`. +/// +///

Searches AgentStatuses in an Amazon Connect instance, with optional filtering.

+#[derive(::std::clone::Clone, ::std::fmt::Debug)] +pub struct SearchAgentStatusesFluentBuilder { + handle: ::std::sync::Arc, + inner: crate::operation::search_agent_statuses::builders::SearchAgentStatusesInputBuilder, + config_override: ::std::option::Option, +} +impl + crate::client::customize::internal::CustomizableSend< + crate::operation::search_agent_statuses::SearchAgentStatusesOutput, + crate::operation::search_agent_statuses::SearchAgentStatusesError, + > for SearchAgentStatusesFluentBuilder +{ + fn send( + self, + config_override: crate::config::Builder, + ) -> crate::client::customize::internal::BoxFuture< + crate::client::customize::internal::SendResult< + crate::operation::search_agent_statuses::SearchAgentStatusesOutput, + crate::operation::search_agent_statuses::SearchAgentStatusesError, + >, + > { + ::std::boxed::Box::pin(async move { self.config_override(config_override).send().await }) + } +} +impl SearchAgentStatusesFluentBuilder { + /// Creates a new `SearchAgentStatusesFluentBuilder`. + pub(crate) fn new(handle: ::std::sync::Arc) -> Self { + Self { + handle, + inner: ::std::default::Default::default(), + config_override: ::std::option::Option::None, + } + } + /// Access the SearchAgentStatuses as a reference. + pub fn as_input(&self) -> &crate::operation::search_agent_statuses::builders::SearchAgentStatusesInputBuilder { + &self.inner + } + /// Sends the request and returns the response. + /// + /// If an error occurs, an `SdkError` will be returned with additional details that + /// can be matched against. + /// + /// By default, any retryable failures will be retried twice. Retry behavior + /// is configurable with the [RetryConfig](aws_smithy_types::retry::RetryConfig), which can be + /// set when configuring the client. + pub async fn send( + self, + ) -> ::std::result::Result< + crate::operation::search_agent_statuses::SearchAgentStatusesOutput, + ::aws_smithy_runtime_api::client::result::SdkError< + crate::operation::search_agent_statuses::SearchAgentStatusesError, + ::aws_smithy_runtime_api::client::orchestrator::HttpResponse, + >, + > { + let input = self + .inner + .build() + .map_err(::aws_smithy_runtime_api::client::result::SdkError::construction_failure)?; + let runtime_plugins = crate::operation::search_agent_statuses::SearchAgentStatuses::operation_runtime_plugins( + self.handle.runtime_plugins.clone(), + &self.handle.conf, + self.config_override, + ); + crate::operation::search_agent_statuses::SearchAgentStatuses::orchestrate(&runtime_plugins, input).await + } + + /// Consumes this builder, creating a customizable operation that can be modified before being sent. + pub fn customize( + self, + ) -> crate::client::customize::CustomizableOperation< + crate::operation::search_agent_statuses::SearchAgentStatusesOutput, + crate::operation::search_agent_statuses::SearchAgentStatusesError, + Self, + > { + crate::client::customize::CustomizableOperation::new(self) + } + pub(crate) fn config_override(mut self, config_override: impl ::std::convert::Into) -> Self { + self.set_config_override(::std::option::Option::Some(config_override.into())); + self + } + + pub(crate) fn set_config_override(&mut self, config_override: ::std::option::Option) -> &mut Self { + self.config_override = config_override; + self + } + /// Create a paginator for this request + /// + /// Paginators are used by calling [`send().await`](crate::operation::search_agent_statuses::paginator::SearchAgentStatusesPaginator::send) which returns a [`PaginationStream`](aws_smithy_async::future::pagination_stream::PaginationStream). + pub fn into_paginator(self) -> crate::operation::search_agent_statuses::paginator::SearchAgentStatusesPaginator { + crate::operation::search_agent_statuses::paginator::SearchAgentStatusesPaginator::new(self.handle, self.inner) + } + ///

The identifier of the Amazon Connect instance. You can find the instanceId in the ARN of the instance.

+ pub fn instance_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self { + self.inner = self.inner.instance_id(input.into()); + self + } + ///

The identifier of the Amazon Connect instance. You can find the instanceId in the ARN of the instance.

+ pub fn set_instance_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self { + self.inner = self.inner.set_instance_id(input); + self + } + ///

The identifier of the Amazon Connect instance. You can find the instanceId in the ARN of the instance.

+ pub fn get_instance_id(&self) -> &::std::option::Option<::std::string::String> { + self.inner.get_instance_id() + } + ///

The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.

+ pub fn next_token(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self { + self.inner = self.inner.next_token(input.into()); + self + } + ///

The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.

+ pub fn set_next_token(mut self, input: ::std::option::Option<::std::string::String>) -> Self { + self.inner = self.inner.set_next_token(input); + self + } + ///

The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.

+ pub fn get_next_token(&self) -> &::std::option::Option<::std::string::String> { + self.inner.get_next_token() + } + ///

The maximum number of results to return per page.

+ pub fn max_results(mut self, input: i32) -> Self { + self.inner = self.inner.max_results(input); + self + } + ///

The maximum number of results to return per page.

+ pub fn set_max_results(mut self, input: ::std::option::Option) -> Self { + self.inner = self.inner.set_max_results(input); + self + } + ///

The maximum number of results to return per page.

+ pub fn get_max_results(&self) -> &::std::option::Option { + self.inner.get_max_results() + } + ///

Filters to be applied to search results.

+ pub fn search_filter(mut self, input: crate::types::AgentStatusSearchFilter) -> Self { + self.inner = self.inner.search_filter(input); + self + } + ///

Filters to be applied to search results.

+ pub fn set_search_filter(mut self, input: ::std::option::Option) -> Self { + self.inner = self.inner.set_search_filter(input); + self + } + ///

Filters to be applied to search results.

+ pub fn get_search_filter(&self) -> &::std::option::Option { + self.inner.get_search_filter() + } + ///

The search criteria to be used to return agent statuses.

+ pub fn search_criteria(mut self, input: crate::types::AgentStatusSearchCriteria) -> Self { + self.inner = self.inner.search_criteria(input); + self + } + ///

The search criteria to be used to return agent statuses.

+ pub fn set_search_criteria(mut self, input: ::std::option::Option) -> Self { + self.inner = self.inner.set_search_criteria(input); + self + } + ///

The search criteria to be used to return agent statuses.

+ pub fn get_search_criteria(&self) -> &::std::option::Option { + self.inner.get_search_criteria() + } +} diff --git a/sdk/connect/src/operation/search_agent_statuses/paginator.rs b/sdk/connect/src/operation/search_agent_statuses/paginator.rs new file mode 100644 index 000000000000..71c833e234b1 --- /dev/null +++ b/sdk/connect/src/operation/search_agent_statuses/paginator.rs @@ -0,0 +1,147 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. +/// Paginator for [`SearchAgentStatuses`](crate::operation::search_agent_statuses::SearchAgentStatuses) +pub struct SearchAgentStatusesPaginator { + handle: std::sync::Arc, + builder: crate::operation::search_agent_statuses::builders::SearchAgentStatusesInputBuilder, + stop_on_duplicate_token: bool, +} + +impl SearchAgentStatusesPaginator { + /// Create a new paginator-wrapper + pub(crate) fn new( + handle: std::sync::Arc, + builder: crate::operation::search_agent_statuses::builders::SearchAgentStatusesInputBuilder, + ) -> Self { + Self { + handle, + builder, + stop_on_duplicate_token: true, + } + } + + /// Set the page size + /// + /// _Note: this method will override any previously set value for `max_results`_ + pub fn page_size(mut self, limit: i32) -> Self { + self.builder.max_results = ::std::option::Option::Some(limit); + self + } + + /// Create a flattened paginator + /// + /// This paginator automatically flattens results using `agent_statuses`. Queries to the underlying service + /// are dispatched lazily. + pub fn items(self) -> crate::operation::search_agent_statuses::paginator::SearchAgentStatusesPaginatorItems { + crate::operation::search_agent_statuses::paginator::SearchAgentStatusesPaginatorItems(self) + } + + /// Stop paginating when the service returns the same pagination token twice in a row. + /// + /// Defaults to true. + /// + /// For certain operations, it may be useful to continue on duplicate token. For example, + /// if an operation is for tailing a log file in real-time, then continuing may be desired. + /// This option can be set to `false` to accommodate these use cases. + pub fn stop_on_duplicate_token(mut self, stop_on_duplicate_token: bool) -> Self { + self.stop_on_duplicate_token = stop_on_duplicate_token; + self + } + + /// Create the pagination stream + /// + /// _Note:_ No requests will be dispatched until the stream is used + /// (e.g. with the [`.next().await`](aws_smithy_async::future::pagination_stream::PaginationStream::next) method). + pub fn send( + self, + ) -> ::aws_smithy_async::future::pagination_stream::PaginationStream< + ::std::result::Result< + crate::operation::search_agent_statuses::SearchAgentStatusesOutput, + ::aws_smithy_runtime_api::client::result::SdkError< + crate::operation::search_agent_statuses::SearchAgentStatusesError, + ::aws_smithy_runtime_api::client::orchestrator::HttpResponse, + >, + >, + > { + // Move individual fields out of self for the borrow checker + let builder = self.builder; + let handle = self.handle; + let runtime_plugins = crate::operation::search_agent_statuses::SearchAgentStatuses::operation_runtime_plugins( + handle.runtime_plugins.clone(), + &handle.conf, + ::std::option::Option::None, + ); + ::aws_smithy_async::future::pagination_stream::PaginationStream::new(::aws_smithy_async::future::pagination_stream::fn_stream::FnStream::new( + move |tx| { + ::std::boxed::Box::pin(async move { + // Build the input for the first time. If required fields are missing, this is where we'll produce an early error. + let mut input = match builder + .build() + .map_err(::aws_smithy_runtime_api::client::result::SdkError::construction_failure) + { + ::std::result::Result::Ok(input) => input, + ::std::result::Result::Err(e) => { + let _ = tx.send(::std::result::Result::Err(e)).await; + return; + } + }; + loop { + let resp = crate::operation::search_agent_statuses::SearchAgentStatuses::orchestrate(&runtime_plugins, input.clone()).await; + // If the input member is None or it was an error + let done = match resp { + ::std::result::Result::Ok(ref resp) => { + let new_token = crate::lens::reflens_search_agent_statuses_output_output_next_token(resp); + // Pagination is exhausted when the next token is an empty string + let is_empty = new_token.map(|token| token.is_empty()).unwrap_or(true); + if !is_empty && new_token == input.next_token.as_ref() && self.stop_on_duplicate_token { + true + } else { + input.next_token = new_token.cloned(); + is_empty + } + } + ::std::result::Result::Err(_) => true, + }; + if tx.send(resp).await.is_err() { + // receiving end was dropped + return; + } + if done { + return; + } + } + }) + }, + )) + } +} + +/// Flattened paginator for `SearchAgentStatusesPaginator` +/// +/// This is created with [`.items()`](SearchAgentStatusesPaginator::items) +pub struct SearchAgentStatusesPaginatorItems(SearchAgentStatusesPaginator); + +impl SearchAgentStatusesPaginatorItems { + /// Create the pagination stream + /// + /// _Note_: No requests will be dispatched until the stream is used + /// (e.g. with the [`.next().await`](aws_smithy_async::future::pagination_stream::PaginationStream::next) method). + /// + /// To read the entirety of the paginator, use [`.collect::, _>()`](aws_smithy_async::future::pagination_stream::PaginationStream::collect). + pub fn send( + self, + ) -> ::aws_smithy_async::future::pagination_stream::PaginationStream< + ::std::result::Result< + crate::types::AgentStatus, + ::aws_smithy_runtime_api::client::result::SdkError< + crate::operation::search_agent_statuses::SearchAgentStatusesError, + ::aws_smithy_runtime_api::client::orchestrator::HttpResponse, + >, + >, + > { + ::aws_smithy_async::future::pagination_stream::TryFlatMap::new(self.0.send()).flat_map(|page| { + crate::lens::lens_search_agent_statuses_output_output_agent_statuses(page) + .unwrap_or_default() + .into_iter() + }) + } +} diff --git a/sdk/connect/src/operation/search_resource_tags/_search_resource_tags_input.rs b/sdk/connect/src/operation/search_resource_tags/_search_resource_tags_input.rs index 8f6a5c873dfe..afee548a38e7 100644 --- a/sdk/connect/src/operation/search_resource_tags/_search_resource_tags_input.rs +++ b/sdk/connect/src/operation/search_resource_tags/_search_resource_tags_input.rs @@ -6,6 +6,25 @@ pub struct SearchResourceTagsInput { ///

The identifier of the Amazon Connect instance. You can find the instanceId in the Amazon Resource Name (ARN) of the instance.

pub instance_id: ::std::option::Option<::std::string::String>, ///

The list of resource types to be used to search tags from. If not provided or if any empty list is provided, this API will search from all supported resource types.

+ ///

Supported resource types

+ ///
    + ///
  • + ///

    AGENT

  • + ///
  • + ///

    ROUTING_PROFILE

  • + ///
  • + ///

    STANDARD_QUEUE

  • + ///
  • + ///

    SECURITY_PROFILE

  • + ///
  • + ///

    OPERATING_HOURS

  • + ///
  • + ///

    PROMPT

  • + ///
  • + ///

    CONTACT_FLOW

  • + ///
  • + ///

    FLOW_MODULE

  • + ///
pub resource_types: ::std::option::Option<::std::vec::Vec<::std::string::String>>, ///

The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.

pub next_token: ::std::option::Option<::std::string::String>, @@ -20,6 +39,25 @@ impl SearchResourceTagsInput { self.instance_id.as_deref() } ///

The list of resource types to be used to search tags from. If not provided or if any empty list is provided, this API will search from all supported resource types.

+ ///

Supported resource types

+ ///
    + ///
  • + ///

    AGENT

  • + ///
  • + ///

    ROUTING_PROFILE

  • + ///
  • + ///

    STANDARD_QUEUE

  • + ///
  • + ///

    SECURITY_PROFILE

  • + ///
  • + ///

    OPERATING_HOURS

  • + ///
  • + ///

    PROMPT

  • + ///
  • + ///

    CONTACT_FLOW

  • + ///
  • + ///

    FLOW_MODULE

  • + ///
/// /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.resource_types.is_none()`. pub fn resource_types(&self) -> &[::std::string::String] { @@ -76,6 +114,25 @@ impl SearchResourceTagsInputBuilder { /// To override the contents of this collection use [`set_resource_types`](Self::set_resource_types). /// ///

The list of resource types to be used to search tags from. If not provided or if any empty list is provided, this API will search from all supported resource types.

+ ///

Supported resource types

+ ///
    + ///
  • + ///

    AGENT

  • + ///
  • + ///

    ROUTING_PROFILE

  • + ///
  • + ///

    STANDARD_QUEUE

  • + ///
  • + ///

    SECURITY_PROFILE

  • + ///
  • + ///

    OPERATING_HOURS

  • + ///
  • + ///

    PROMPT

  • + ///
  • + ///

    CONTACT_FLOW

  • + ///
  • + ///

    FLOW_MODULE

  • + ///
pub fn resource_types(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self { let mut v = self.resource_types.unwrap_or_default(); v.push(input.into()); @@ -83,11 +140,49 @@ impl SearchResourceTagsInputBuilder { self } ///

The list of resource types to be used to search tags from. If not provided or if any empty list is provided, this API will search from all supported resource types.

+ ///

Supported resource types

+ ///
    + ///
  • + ///

    AGENT

  • + ///
  • + ///

    ROUTING_PROFILE

  • + ///
  • + ///

    STANDARD_QUEUE

  • + ///
  • + ///

    SECURITY_PROFILE

  • + ///
  • + ///

    OPERATING_HOURS

  • + ///
  • + ///

    PROMPT

  • + ///
  • + ///

    CONTACT_FLOW

  • + ///
  • + ///

    FLOW_MODULE

  • + ///
pub fn set_resource_types(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self { self.resource_types = input; self } ///

The list of resource types to be used to search tags from. If not provided or if any empty list is provided, this API will search from all supported resource types.

+ ///

Supported resource types

+ ///
    + ///
  • + ///

    AGENT

  • + ///
  • + ///

    ROUTING_PROFILE

  • + ///
  • + ///

    STANDARD_QUEUE

  • + ///
  • + ///

    SECURITY_PROFILE

  • + ///
  • + ///

    OPERATING_HOURS

  • + ///
  • + ///

    PROMPT

  • + ///
  • + ///

    CONTACT_FLOW

  • + ///
  • + ///

    FLOW_MODULE

  • + ///
pub fn get_resource_types(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> { &self.resource_types } diff --git a/sdk/connect/src/operation/search_resource_tags/builders.rs b/sdk/connect/src/operation/search_resource_tags/builders.rs index 418ba34e113f..525e819eaae9 100644 --- a/sdk/connect/src/operation/search_resource_tags/builders.rs +++ b/sdk/connect/src/operation/search_resource_tags/builders.rs @@ -134,16 +134,73 @@ impl SearchResourceTagsFluentBuilder { /// To override the contents of this collection use [`set_resource_types`](Self::set_resource_types). /// ///

The list of resource types to be used to search tags from. If not provided or if any empty list is provided, this API will search from all supported resource types.

+ ///

Supported resource types

+ ///
    + ///
  • + ///

    AGENT

  • + ///
  • + ///

    ROUTING_PROFILE

  • + ///
  • + ///

    STANDARD_QUEUE

  • + ///
  • + ///

    SECURITY_PROFILE

  • + ///
  • + ///

    OPERATING_HOURS

  • + ///
  • + ///

    PROMPT

  • + ///
  • + ///

    CONTACT_FLOW

  • + ///
  • + ///

    FLOW_MODULE

  • + ///
pub fn resource_types(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self { self.inner = self.inner.resource_types(input.into()); self } ///

The list of resource types to be used to search tags from. If not provided or if any empty list is provided, this API will search from all supported resource types.

+ ///

Supported resource types

+ ///
    + ///
  • + ///

    AGENT

  • + ///
  • + ///

    ROUTING_PROFILE

  • + ///
  • + ///

    STANDARD_QUEUE

  • + ///
  • + ///

    SECURITY_PROFILE

  • + ///
  • + ///

    OPERATING_HOURS

  • + ///
  • + ///

    PROMPT

  • + ///
  • + ///

    CONTACT_FLOW

  • + ///
  • + ///

    FLOW_MODULE

  • + ///
pub fn set_resource_types(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self { self.inner = self.inner.set_resource_types(input); self } ///

The list of resource types to be used to search tags from. If not provided or if any empty list is provided, this API will search from all supported resource types.

+ ///

Supported resource types

+ ///
    + ///
  • + ///

    AGENT

  • + ///
  • + ///

    ROUTING_PROFILE

  • + ///
  • + ///

    STANDARD_QUEUE

  • + ///
  • + ///

    SECURITY_PROFILE

  • + ///
  • + ///

    OPERATING_HOURS

  • + ///
  • + ///

    PROMPT

  • + ///
  • + ///

    CONTACT_FLOW

  • + ///
  • + ///

    FLOW_MODULE

  • + ///
pub fn get_resource_types(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> { self.inner.get_resource_types() } diff --git a/sdk/connect/src/operation/search_user_hierarchy_groups.rs b/sdk/connect/src/operation/search_user_hierarchy_groups.rs new file mode 100644 index 000000000000..417f29a378f3 --- /dev/null +++ b/sdk/connect/src/operation/search_user_hierarchy_groups.rs @@ -0,0 +1,396 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. +/// Orchestration and serialization glue logic for `SearchUserHierarchyGroups`. +#[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)] +#[non_exhaustive] +pub struct SearchUserHierarchyGroups; +impl SearchUserHierarchyGroups { + /// Creates a new `SearchUserHierarchyGroups` + pub fn new() -> Self { + Self + } + pub(crate) async fn orchestrate( + runtime_plugins: &::aws_smithy_runtime_api::client::runtime_plugin::RuntimePlugins, + input: crate::operation::search_user_hierarchy_groups::SearchUserHierarchyGroupsInput, + ) -> ::std::result::Result< + crate::operation::search_user_hierarchy_groups::SearchUserHierarchyGroupsOutput, + ::aws_smithy_runtime_api::client::result::SdkError< + crate::operation::search_user_hierarchy_groups::SearchUserHierarchyGroupsError, + ::aws_smithy_runtime_api::client::orchestrator::HttpResponse, + >, + > { + let map_err = |err: ::aws_smithy_runtime_api::client::result::SdkError< + ::aws_smithy_runtime_api::client::interceptors::context::Error, + ::aws_smithy_runtime_api::client::orchestrator::HttpResponse, + >| { + err.map_service_error(|err| { + err.downcast::() + .expect("correct error type") + }) + }; + let context = Self::orchestrate_with_stop_point(runtime_plugins, input, ::aws_smithy_runtime::client::orchestrator::StopPoint::None) + .await + .map_err(map_err)?; + let output = context.finalize().map_err(map_err)?; + ::std::result::Result::Ok( + output + .downcast::() + .expect("correct output type"), + ) + } + + pub(crate) async fn orchestrate_with_stop_point( + runtime_plugins: &::aws_smithy_runtime_api::client::runtime_plugin::RuntimePlugins, + input: crate::operation::search_user_hierarchy_groups::SearchUserHierarchyGroupsInput, + stop_point: ::aws_smithy_runtime::client::orchestrator::StopPoint, + ) -> ::std::result::Result< + ::aws_smithy_runtime_api::client::interceptors::context::InterceptorContext, + ::aws_smithy_runtime_api::client::result::SdkError< + ::aws_smithy_runtime_api::client::interceptors::context::Error, + ::aws_smithy_runtime_api::client::orchestrator::HttpResponse, + >, + > { + let input = ::aws_smithy_runtime_api::client::interceptors::context::Input::erase(input); + ::aws_smithy_runtime::client::orchestrator::invoke_with_stop_point("connect", "SearchUserHierarchyGroups", input, runtime_plugins, stop_point) + .await + } + + pub(crate) fn operation_runtime_plugins( + client_runtime_plugins: ::aws_smithy_runtime_api::client::runtime_plugin::RuntimePlugins, + client_config: &crate::config::Config, + config_override: ::std::option::Option, + ) -> ::aws_smithy_runtime_api::client::runtime_plugin::RuntimePlugins { + let mut runtime_plugins = client_runtime_plugins.with_operation_plugin(Self::new()); + runtime_plugins = runtime_plugins.with_client_plugin(crate::auth_plugin::DefaultAuthOptionsPlugin::new(vec![ + ::aws_runtime::auth::sigv4::SCHEME_ID, + ])); + if let ::std::option::Option::Some(config_override) = config_override { + for plugin in config_override.runtime_plugins.iter().cloned() { + runtime_plugins = runtime_plugins.with_operation_plugin(plugin); + } + runtime_plugins = runtime_plugins.with_operation_plugin(crate::config::ConfigOverrideRuntimePlugin::new( + config_override, + client_config.config.clone(), + &client_config.runtime_components, + )); + } + runtime_plugins + } +} +impl ::aws_smithy_runtime_api::client::runtime_plugin::RuntimePlugin for SearchUserHierarchyGroups { + fn config(&self) -> ::std::option::Option<::aws_smithy_types::config_bag::FrozenLayer> { + let mut cfg = ::aws_smithy_types::config_bag::Layer::new("SearchUserHierarchyGroups"); + + cfg.store_put(::aws_smithy_runtime_api::client::ser_de::SharedRequestSerializer::new( + SearchUserHierarchyGroupsRequestSerializer, + )); + cfg.store_put(::aws_smithy_runtime_api::client::ser_de::SharedResponseDeserializer::new( + SearchUserHierarchyGroupsResponseDeserializer, + )); + + cfg.store_put(::aws_smithy_runtime_api::client::auth::AuthSchemeOptionResolverParams::new( + ::aws_smithy_runtime_api::client::auth::static_resolver::StaticAuthSchemeOptionResolverParams::new(), + )); + + cfg.store_put(::aws_smithy_runtime_api::client::orchestrator::Metadata::new( + "SearchUserHierarchyGroups", + "connect", + )); + let mut signing_options = ::aws_runtime::auth::SigningOptions::default(); + signing_options.double_uri_encode = true; + signing_options.content_sha256_header = false; + signing_options.normalize_uri_path = true; + signing_options.payload_override = None; + + cfg.store_put(::aws_runtime::auth::SigV4OperationSigningConfig { + signing_options, + ..::std::default::Default::default() + }); + + ::std::option::Option::Some(cfg.freeze()) + } + + fn runtime_components( + &self, + _: &::aws_smithy_runtime_api::client::runtime_components::RuntimeComponentsBuilder, + ) -> ::std::borrow::Cow<'_, ::aws_smithy_runtime_api::client::runtime_components::RuntimeComponentsBuilder> { + #[allow(unused_mut)] + let mut rcb = ::aws_smithy_runtime_api::client::runtime_components::RuntimeComponentsBuilder::new("SearchUserHierarchyGroups") + .with_interceptor(::aws_smithy_runtime::client::stalled_stream_protection::StalledStreamProtectionInterceptor::default()) + .with_interceptor(SearchUserHierarchyGroupsEndpointParamsInterceptor) + .with_retry_classifier(::aws_smithy_runtime::client::retries::classifiers::TransientErrorClassifier::< + crate::operation::search_user_hierarchy_groups::SearchUserHierarchyGroupsError, + >::new()) + .with_retry_classifier(::aws_smithy_runtime::client::retries::classifiers::ModeledAsRetryableClassifier::< + crate::operation::search_user_hierarchy_groups::SearchUserHierarchyGroupsError, + >::new()) + .with_retry_classifier(::aws_runtime::retries::classifiers::AwsErrorCodeClassifier::< + crate::operation::search_user_hierarchy_groups::SearchUserHierarchyGroupsError, + >::new()); + + ::std::borrow::Cow::Owned(rcb) + } +} + +#[derive(Debug)] +struct SearchUserHierarchyGroupsResponseDeserializer; +impl ::aws_smithy_runtime_api::client::ser_de::DeserializeResponse for SearchUserHierarchyGroupsResponseDeserializer { + fn deserialize_nonstreaming( + &self, + response: &::aws_smithy_runtime_api::client::orchestrator::HttpResponse, + ) -> ::aws_smithy_runtime_api::client::interceptors::context::OutputOrError { + let (success, status) = (response.status().is_success(), response.status().as_u16()); + let headers = response.headers(); + let body = response.body().bytes().expect("body loaded"); + #[allow(unused_mut)] + let mut force_error = false; + ::tracing::debug!(request_id = ?::aws_types::request_id::RequestId::request_id(response)); + let parse_result = if !success && status != 200 || force_error { + crate::protocol_serde::shape_search_user_hierarchy_groups::de_search_user_hierarchy_groups_http_error(status, headers, body) + } else { + crate::protocol_serde::shape_search_user_hierarchy_groups::de_search_user_hierarchy_groups_http_response(status, headers, body) + }; + crate::protocol_serde::type_erase_result(parse_result) + } +} +#[derive(Debug)] +struct SearchUserHierarchyGroupsRequestSerializer; +impl ::aws_smithy_runtime_api::client::ser_de::SerializeRequest for SearchUserHierarchyGroupsRequestSerializer { + #[allow(unused_mut, clippy::let_and_return, clippy::needless_borrow, clippy::useless_conversion)] + fn serialize_input( + &self, + input: ::aws_smithy_runtime_api::client::interceptors::context::Input, + _cfg: &mut ::aws_smithy_types::config_bag::ConfigBag, + ) -> ::std::result::Result<::aws_smithy_runtime_api::client::orchestrator::HttpRequest, ::aws_smithy_runtime_api::box_error::BoxError> { + let input = input + .downcast::() + .expect("correct type"); + let _header_serialization_settings = _cfg + .load::() + .cloned() + .unwrap_or_default(); + let mut request_builder = { + fn uri_base( + _input: &crate::operation::search_user_hierarchy_groups::SearchUserHierarchyGroupsInput, + output: &mut ::std::string::String, + ) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> { + use ::std::fmt::Write as _; + ::std::write!(output, "/search-user-hierarchy-groups").expect("formatting should succeed"); + ::std::result::Result::Ok(()) + } + #[allow(clippy::unnecessary_wraps)] + fn update_http_builder( + input: &crate::operation::search_user_hierarchy_groups::SearchUserHierarchyGroupsInput, + builder: ::http::request::Builder, + ) -> ::std::result::Result<::http::request::Builder, ::aws_smithy_types::error::operation::BuildError> { + let mut uri = ::std::string::String::new(); + uri_base(input, &mut uri)?; + ::std::result::Result::Ok(builder.method("POST").uri(uri)) + } + let mut builder = update_http_builder(&input, ::http::request::Builder::new())?; + builder = _header_serialization_settings.set_default_header(builder, ::http::header::CONTENT_TYPE, "application/json"); + builder + }; + let body = ::aws_smithy_types::body::SdkBody::from( + crate::protocol_serde::shape_search_user_hierarchy_groups::ser_search_user_hierarchy_groups_input(&input)?, + ); + if let Some(content_length) = body.content_length() { + let content_length = content_length.to_string(); + request_builder = _header_serialization_settings.set_default_header(request_builder, ::http::header::CONTENT_LENGTH, &content_length); + } + ::std::result::Result::Ok(request_builder.body(body).expect("valid request").try_into().unwrap()) + } +} +#[derive(Debug)] +struct SearchUserHierarchyGroupsEndpointParamsInterceptor; + +impl ::aws_smithy_runtime_api::client::interceptors::Intercept for SearchUserHierarchyGroupsEndpointParamsInterceptor { + fn name(&self) -> &'static str { + "SearchUserHierarchyGroupsEndpointParamsInterceptor" + } + + fn read_before_execution( + &self, + context: &::aws_smithy_runtime_api::client::interceptors::context::BeforeSerializationInterceptorContextRef< + '_, + ::aws_smithy_runtime_api::client::interceptors::context::Input, + ::aws_smithy_runtime_api::client::interceptors::context::Output, + ::aws_smithy_runtime_api::client::interceptors::context::Error, + >, + cfg: &mut ::aws_smithy_types::config_bag::ConfigBag, + ) -> ::std::result::Result<(), ::aws_smithy_runtime_api::box_error::BoxError> { + let _input = context + .input() + .downcast_ref::() + .ok_or("failed to downcast to SearchUserHierarchyGroupsInput")?; + + let params = crate::config::endpoint::Params::builder() + .set_region(cfg.load::<::aws_types::region::Region>().map(|r| r.as_ref().to_owned())) + .set_use_dual_stack(cfg.load::<::aws_types::endpoint_config::UseDualStack>().map(|ty| ty.0)) + .set_use_fips(cfg.load::<::aws_types::endpoint_config::UseFips>().map(|ty| ty.0)) + .set_endpoint(cfg.load::<::aws_types::endpoint_config::EndpointUrl>().map(|ty| ty.0.clone())) + .build() + .map_err(|err| { + ::aws_smithy_runtime_api::client::interceptors::error::ContextAttachedError::new("endpoint params could not be built", err) + })?; + cfg.interceptor_state() + .store_put(::aws_smithy_runtime_api::client::endpoint::EndpointResolverParams::new(params)); + ::std::result::Result::Ok(()) + } +} + +/// Error type for the `SearchUserHierarchyGroupsError` operation. +#[non_exhaustive] +#[derive(::std::fmt::Debug)] +pub enum SearchUserHierarchyGroupsError { + ///

Request processing failed because of an error or failure with the service.

+ InternalServiceException(crate::types::error::InternalServiceException), + ///

One or more of the specified parameters are not valid.

+ InvalidParameterException(crate::types::error::InvalidParameterException), + ///

The request is not valid.

+ InvalidRequestException(crate::types::error::InvalidRequestException), + ///

The specified resource was not found.

+ ResourceNotFoundException(crate::types::error::ResourceNotFoundException), + ///

The throttling limit has been exceeded.

+ ThrottlingException(crate::types::error::ThrottlingException), + /// An unexpected error occurred (e.g., invalid JSON returned by the service or an unknown error code). + #[deprecated(note = "Matching `Unhandled` directly is not forwards compatible. Instead, match using a \ + variable wildcard pattern and check `.code()`: + \ +    `err if err.code() == Some(\"SpecificExceptionCode\") => { /* handle the error */ }` + \ + See [`ProvideErrorMetadata`](#impl-ProvideErrorMetadata-for-SearchUserHierarchyGroupsError) for what information is available for the error.")] + Unhandled(crate::error::sealed_unhandled::Unhandled), +} +impl SearchUserHierarchyGroupsError { + /// Creates the `SearchUserHierarchyGroupsError::Unhandled` variant from any error type. + pub fn unhandled( + err: impl ::std::convert::Into<::std::boxed::Box>, + ) -> Self { + Self::Unhandled(crate::error::sealed_unhandled::Unhandled { + source: err.into(), + meta: ::std::default::Default::default(), + }) + } + + /// Creates the `SearchUserHierarchyGroupsError::Unhandled` variant from an [`ErrorMetadata`](::aws_smithy_types::error::ErrorMetadata). + pub fn generic(err: ::aws_smithy_types::error::ErrorMetadata) -> Self { + Self::Unhandled(crate::error::sealed_unhandled::Unhandled { + source: err.clone().into(), + meta: err, + }) + } + /// + /// Returns error metadata, which includes the error code, message, + /// request ID, and potentially additional information. + /// + pub fn meta(&self) -> &::aws_smithy_types::error::ErrorMetadata { + match self { + Self::InternalServiceException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e), + Self::InvalidParameterException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e), + Self::InvalidRequestException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e), + Self::ResourceNotFoundException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e), + Self::ThrottlingException(e) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(e), + Self::Unhandled(e) => &e.meta, + } + } + /// Returns `true` if the error kind is `SearchUserHierarchyGroupsError::InternalServiceException`. + pub fn is_internal_service_exception(&self) -> bool { + matches!(self, Self::InternalServiceException(_)) + } + /// Returns `true` if the error kind is `SearchUserHierarchyGroupsError::InvalidParameterException`. + pub fn is_invalid_parameter_exception(&self) -> bool { + matches!(self, Self::InvalidParameterException(_)) + } + /// Returns `true` if the error kind is `SearchUserHierarchyGroupsError::InvalidRequestException`. + pub fn is_invalid_request_exception(&self) -> bool { + matches!(self, Self::InvalidRequestException(_)) + } + /// Returns `true` if the error kind is `SearchUserHierarchyGroupsError::ResourceNotFoundException`. + pub fn is_resource_not_found_exception(&self) -> bool { + matches!(self, Self::ResourceNotFoundException(_)) + } + /// Returns `true` if the error kind is `SearchUserHierarchyGroupsError::ThrottlingException`. + pub fn is_throttling_exception(&self) -> bool { + matches!(self, Self::ThrottlingException(_)) + } +} +impl ::std::error::Error for SearchUserHierarchyGroupsError { + fn source(&self) -> ::std::option::Option<&(dyn ::std::error::Error + 'static)> { + match self { + Self::InternalServiceException(_inner) => ::std::option::Option::Some(_inner), + Self::InvalidParameterException(_inner) => ::std::option::Option::Some(_inner), + Self::InvalidRequestException(_inner) => ::std::option::Option::Some(_inner), + Self::ResourceNotFoundException(_inner) => ::std::option::Option::Some(_inner), + Self::ThrottlingException(_inner) => ::std::option::Option::Some(_inner), + Self::Unhandled(_inner) => ::std::option::Option::Some(&*_inner.source), + } + } +} +impl ::std::fmt::Display for SearchUserHierarchyGroupsError { + fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result { + match self { + Self::InternalServiceException(_inner) => _inner.fmt(f), + Self::InvalidParameterException(_inner) => _inner.fmt(f), + Self::InvalidRequestException(_inner) => _inner.fmt(f), + Self::ResourceNotFoundException(_inner) => _inner.fmt(f), + Self::ThrottlingException(_inner) => _inner.fmt(f), + Self::Unhandled(_inner) => { + if let ::std::option::Option::Some(code) = ::aws_smithy_types::error::metadata::ProvideErrorMetadata::code(self) { + write!(f, "unhandled error ({code})") + } else { + f.write_str("unhandled error") + } + } + } + } +} +impl ::aws_smithy_types::retry::ProvideErrorKind for SearchUserHierarchyGroupsError { + fn code(&self) -> ::std::option::Option<&str> { + ::aws_smithy_types::error::metadata::ProvideErrorMetadata::code(self) + } + fn retryable_error_kind(&self) -> ::std::option::Option<::aws_smithy_types::retry::ErrorKind> { + ::std::option::Option::None + } +} +impl ::aws_smithy_types::error::metadata::ProvideErrorMetadata for SearchUserHierarchyGroupsError { + fn meta(&self) -> &::aws_smithy_types::error::ErrorMetadata { + match self { + Self::InternalServiceException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner), + Self::InvalidParameterException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner), + Self::InvalidRequestException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner), + Self::ResourceNotFoundException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner), + Self::ThrottlingException(_inner) => ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(_inner), + Self::Unhandled(_inner) => &_inner.meta, + } + } +} +impl ::aws_smithy_runtime_api::client::result::CreateUnhandledError for SearchUserHierarchyGroupsError { + fn create_unhandled_error( + source: ::std::boxed::Box, + meta: ::std::option::Option<::aws_smithy_types::error::ErrorMetadata>, + ) -> Self { + Self::Unhandled(crate::error::sealed_unhandled::Unhandled { + source, + meta: meta.unwrap_or_default(), + }) + } +} +impl ::aws_types::request_id::RequestId for crate::operation::search_user_hierarchy_groups::SearchUserHierarchyGroupsError { + fn request_id(&self) -> Option<&str> { + self.meta().request_id() + } +} + +pub use crate::operation::search_user_hierarchy_groups::_search_user_hierarchy_groups_output::SearchUserHierarchyGroupsOutput; + +pub use crate::operation::search_user_hierarchy_groups::_search_user_hierarchy_groups_input::SearchUserHierarchyGroupsInput; + +mod _search_user_hierarchy_groups_input; + +mod _search_user_hierarchy_groups_output; + +/// Builders +pub mod builders; + +/// Paginator for this operation +pub mod paginator; diff --git a/sdk/connect/src/operation/search_user_hierarchy_groups/_search_user_hierarchy_groups_input.rs b/sdk/connect/src/operation/search_user_hierarchy_groups/_search_user_hierarchy_groups_input.rs new file mode 100644 index 000000000000..14b18cf50f5f --- /dev/null +++ b/sdk/connect/src/operation/search_user_hierarchy_groups/_search_user_hierarchy_groups_input.rs @@ -0,0 +1,143 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. +#[allow(missing_docs)] // documentation missing in model +#[non_exhaustive] +#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)] +pub struct SearchUserHierarchyGroupsInput { + ///

The identifier of the Amazon Connect instance. You can find the instanceId in the ARN of the instance.

+ pub instance_id: ::std::option::Option<::std::string::String>, + ///

The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.

+ pub next_token: ::std::option::Option<::std::string::String>, + ///

The maximum number of results to return per page.

+ pub max_results: ::std::option::Option, + ///

Filters to be applied to search results.

+ pub search_filter: ::std::option::Option, + ///

The search criteria to be used to return UserHierarchyGroups.

+ pub search_criteria: ::std::option::Option, +} +impl SearchUserHierarchyGroupsInput { + ///

The identifier of the Amazon Connect instance. You can find the instanceId in the ARN of the instance.

+ pub fn instance_id(&self) -> ::std::option::Option<&str> { + self.instance_id.as_deref() + } + ///

The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.

+ pub fn next_token(&self) -> ::std::option::Option<&str> { + self.next_token.as_deref() + } + ///

The maximum number of results to return per page.

+ pub fn max_results(&self) -> ::std::option::Option { + self.max_results + } + ///

Filters to be applied to search results.

+ pub fn search_filter(&self) -> ::std::option::Option<&crate::types::UserHierarchyGroupSearchFilter> { + self.search_filter.as_ref() + } + ///

The search criteria to be used to return UserHierarchyGroups.

+ pub fn search_criteria(&self) -> ::std::option::Option<&crate::types::UserHierarchyGroupSearchCriteria> { + self.search_criteria.as_ref() + } +} +impl SearchUserHierarchyGroupsInput { + /// Creates a new builder-style object to manufacture [`SearchUserHierarchyGroupsInput`](crate::operation::search_user_hierarchy_groups::SearchUserHierarchyGroupsInput). + pub fn builder() -> crate::operation::search_user_hierarchy_groups::builders::SearchUserHierarchyGroupsInputBuilder { + crate::operation::search_user_hierarchy_groups::builders::SearchUserHierarchyGroupsInputBuilder::default() + } +} + +/// A builder for [`SearchUserHierarchyGroupsInput`](crate::operation::search_user_hierarchy_groups::SearchUserHierarchyGroupsInput). +#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)] +#[non_exhaustive] +pub struct SearchUserHierarchyGroupsInputBuilder { + pub(crate) instance_id: ::std::option::Option<::std::string::String>, + pub(crate) next_token: ::std::option::Option<::std::string::String>, + pub(crate) max_results: ::std::option::Option, + pub(crate) search_filter: ::std::option::Option, + pub(crate) search_criteria: ::std::option::Option, +} +impl SearchUserHierarchyGroupsInputBuilder { + ///

The identifier of the Amazon Connect instance. You can find the instanceId in the ARN of the instance.

+ /// This field is required. + pub fn instance_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self { + self.instance_id = ::std::option::Option::Some(input.into()); + self + } + ///

The identifier of the Amazon Connect instance. You can find the instanceId in the ARN of the instance.

+ pub fn set_instance_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self { + self.instance_id = input; + self + } + ///

The identifier of the Amazon Connect instance. You can find the instanceId in the ARN of the instance.

+ pub fn get_instance_id(&self) -> &::std::option::Option<::std::string::String> { + &self.instance_id + } + ///

The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.

+ pub fn next_token(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self { + self.next_token = ::std::option::Option::Some(input.into()); + self + } + ///

The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.

+ pub fn set_next_token(mut self, input: ::std::option::Option<::std::string::String>) -> Self { + self.next_token = input; + self + } + ///

The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.

+ pub fn get_next_token(&self) -> &::std::option::Option<::std::string::String> { + &self.next_token + } + ///

The maximum number of results to return per page.

+ pub fn max_results(mut self, input: i32) -> Self { + self.max_results = ::std::option::Option::Some(input); + self + } + ///

The maximum number of results to return per page.

+ pub fn set_max_results(mut self, input: ::std::option::Option) -> Self { + self.max_results = input; + self + } + ///

The maximum number of results to return per page.

+ pub fn get_max_results(&self) -> &::std::option::Option { + &self.max_results + } + ///

Filters to be applied to search results.

+ pub fn search_filter(mut self, input: crate::types::UserHierarchyGroupSearchFilter) -> Self { + self.search_filter = ::std::option::Option::Some(input); + self + } + ///

Filters to be applied to search results.

+ pub fn set_search_filter(mut self, input: ::std::option::Option) -> Self { + self.search_filter = input; + self + } + ///

Filters to be applied to search results.

+ pub fn get_search_filter(&self) -> &::std::option::Option { + &self.search_filter + } + ///

The search criteria to be used to return UserHierarchyGroups.

+ pub fn search_criteria(mut self, input: crate::types::UserHierarchyGroupSearchCriteria) -> Self { + self.search_criteria = ::std::option::Option::Some(input); + self + } + ///

The search criteria to be used to return UserHierarchyGroups.

+ pub fn set_search_criteria(mut self, input: ::std::option::Option) -> Self { + self.search_criteria = input; + self + } + ///

The search criteria to be used to return UserHierarchyGroups.

+ pub fn get_search_criteria(&self) -> &::std::option::Option { + &self.search_criteria + } + /// Consumes the builder and constructs a [`SearchUserHierarchyGroupsInput`](crate::operation::search_user_hierarchy_groups::SearchUserHierarchyGroupsInput). + pub fn build( + self, + ) -> ::std::result::Result< + crate::operation::search_user_hierarchy_groups::SearchUserHierarchyGroupsInput, + ::aws_smithy_types::error::operation::BuildError, + > { + ::std::result::Result::Ok(crate::operation::search_user_hierarchy_groups::SearchUserHierarchyGroupsInput { + instance_id: self.instance_id, + next_token: self.next_token, + max_results: self.max_results, + search_filter: self.search_filter, + search_criteria: self.search_criteria, + }) + } +} diff --git a/sdk/connect/src/operation/search_user_hierarchy_groups/_search_user_hierarchy_groups_output.rs b/sdk/connect/src/operation/search_user_hierarchy_groups/_search_user_hierarchy_groups_output.rs new file mode 100644 index 000000000000..b94740408d4f --- /dev/null +++ b/sdk/connect/src/operation/search_user_hierarchy_groups/_search_user_hierarchy_groups_output.rs @@ -0,0 +1,118 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. +#[allow(missing_docs)] // documentation missing in model +#[non_exhaustive] +#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)] +pub struct SearchUserHierarchyGroupsOutput { + ///

Information about the userHierarchyGroups.

+ pub user_hierarchy_groups: ::std::option::Option<::std::vec::Vec>, + ///

If there are additional results, this is the token for the next set of results.

+ pub next_token: ::std::option::Option<::std::string::String>, + ///

The total number of userHierarchyGroups which matched your search query.

+ pub approximate_total_count: ::std::option::Option, + _request_id: Option, +} +impl SearchUserHierarchyGroupsOutput { + ///

Information about the userHierarchyGroups.

+ /// + /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.user_hierarchy_groups.is_none()`. + pub fn user_hierarchy_groups(&self) -> &[crate::types::HierarchyGroup] { + self.user_hierarchy_groups.as_deref().unwrap_or_default() + } + ///

If there are additional results, this is the token for the next set of results.

+ pub fn next_token(&self) -> ::std::option::Option<&str> { + self.next_token.as_deref() + } + ///

The total number of userHierarchyGroups which matched your search query.

+ pub fn approximate_total_count(&self) -> ::std::option::Option { + self.approximate_total_count + } +} +impl ::aws_types::request_id::RequestId for SearchUserHierarchyGroupsOutput { + fn request_id(&self) -> Option<&str> { + self._request_id.as_deref() + } +} +impl SearchUserHierarchyGroupsOutput { + /// Creates a new builder-style object to manufacture [`SearchUserHierarchyGroupsOutput`](crate::operation::search_user_hierarchy_groups::SearchUserHierarchyGroupsOutput). + pub fn builder() -> crate::operation::search_user_hierarchy_groups::builders::SearchUserHierarchyGroupsOutputBuilder { + crate::operation::search_user_hierarchy_groups::builders::SearchUserHierarchyGroupsOutputBuilder::default() + } +} + +/// A builder for [`SearchUserHierarchyGroupsOutput`](crate::operation::search_user_hierarchy_groups::SearchUserHierarchyGroupsOutput). +#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)] +#[non_exhaustive] +pub struct SearchUserHierarchyGroupsOutputBuilder { + pub(crate) user_hierarchy_groups: ::std::option::Option<::std::vec::Vec>, + pub(crate) next_token: ::std::option::Option<::std::string::String>, + pub(crate) approximate_total_count: ::std::option::Option, + _request_id: Option, +} +impl SearchUserHierarchyGroupsOutputBuilder { + /// Appends an item to `user_hierarchy_groups`. + /// + /// To override the contents of this collection use [`set_user_hierarchy_groups`](Self::set_user_hierarchy_groups). + /// + ///

Information about the userHierarchyGroups.

+ pub fn user_hierarchy_groups(mut self, input: crate::types::HierarchyGroup) -> Self { + let mut v = self.user_hierarchy_groups.unwrap_or_default(); + v.push(input); + self.user_hierarchy_groups = ::std::option::Option::Some(v); + self + } + ///

Information about the userHierarchyGroups.

+ pub fn set_user_hierarchy_groups(mut self, input: ::std::option::Option<::std::vec::Vec>) -> Self { + self.user_hierarchy_groups = input; + self + } + ///

Information about the userHierarchyGroups.

+ pub fn get_user_hierarchy_groups(&self) -> &::std::option::Option<::std::vec::Vec> { + &self.user_hierarchy_groups + } + ///

If there are additional results, this is the token for the next set of results.

+ pub fn next_token(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self { + self.next_token = ::std::option::Option::Some(input.into()); + self + } + ///

If there are additional results, this is the token for the next set of results.

+ pub fn set_next_token(mut self, input: ::std::option::Option<::std::string::String>) -> Self { + self.next_token = input; + self + } + ///

If there are additional results, this is the token for the next set of results.

+ pub fn get_next_token(&self) -> &::std::option::Option<::std::string::String> { + &self.next_token + } + ///

The total number of userHierarchyGroups which matched your search query.

+ pub fn approximate_total_count(mut self, input: i64) -> Self { + self.approximate_total_count = ::std::option::Option::Some(input); + self + } + ///

The total number of userHierarchyGroups which matched your search query.

+ pub fn set_approximate_total_count(mut self, input: ::std::option::Option) -> Self { + self.approximate_total_count = input; + self + } + ///

The total number of userHierarchyGroups which matched your search query.

+ pub fn get_approximate_total_count(&self) -> &::std::option::Option { + &self.approximate_total_count + } + pub(crate) fn _request_id(mut self, request_id: impl Into) -> Self { + self._request_id = Some(request_id.into()); + self + } + + pub(crate) fn _set_request_id(&mut self, request_id: Option) -> &mut Self { + self._request_id = request_id; + self + } + /// Consumes the builder and constructs a [`SearchUserHierarchyGroupsOutput`](crate::operation::search_user_hierarchy_groups::SearchUserHierarchyGroupsOutput). + pub fn build(self) -> crate::operation::search_user_hierarchy_groups::SearchUserHierarchyGroupsOutput { + crate::operation::search_user_hierarchy_groups::SearchUserHierarchyGroupsOutput { + user_hierarchy_groups: self.user_hierarchy_groups, + next_token: self.next_token, + approximate_total_count: self.approximate_total_count, + _request_id: self._request_id, + } + } +} diff --git a/sdk/connect/src/operation/search_user_hierarchy_groups/builders.rs b/sdk/connect/src/operation/search_user_hierarchy_groups/builders.rs new file mode 100644 index 000000000000..612091480730 --- /dev/null +++ b/sdk/connect/src/operation/search_user_hierarchy_groups/builders.rs @@ -0,0 +1,189 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. +pub use crate::operation::search_user_hierarchy_groups::_search_user_hierarchy_groups_output::SearchUserHierarchyGroupsOutputBuilder; + +pub use crate::operation::search_user_hierarchy_groups::_search_user_hierarchy_groups_input::SearchUserHierarchyGroupsInputBuilder; + +impl crate::operation::search_user_hierarchy_groups::builders::SearchUserHierarchyGroupsInputBuilder { + /// Sends a request with this input using the given client. + pub async fn send_with( + self, + client: &crate::Client, + ) -> ::std::result::Result< + crate::operation::search_user_hierarchy_groups::SearchUserHierarchyGroupsOutput, + ::aws_smithy_runtime_api::client::result::SdkError< + crate::operation::search_user_hierarchy_groups::SearchUserHierarchyGroupsError, + ::aws_smithy_runtime_api::client::orchestrator::HttpResponse, + >, + > { + let mut fluent_builder = client.search_user_hierarchy_groups(); + fluent_builder.inner = self; + fluent_builder.send().await + } +} +/// Fluent builder constructing a request to `SearchUserHierarchyGroups`. +/// +///

Searches UserHierarchyGroups in an Amazon Connect instance, with optional filtering.

+///

The UserHierarchyGroup with "LevelId": "0" is the foundation for building levels on top of an instance. It is not user-definable, nor is it visible in the UI.

+///
+#[derive(::std::clone::Clone, ::std::fmt::Debug)] +pub struct SearchUserHierarchyGroupsFluentBuilder { + handle: ::std::sync::Arc, + inner: crate::operation::search_user_hierarchy_groups::builders::SearchUserHierarchyGroupsInputBuilder, + config_override: ::std::option::Option, +} +impl + crate::client::customize::internal::CustomizableSend< + crate::operation::search_user_hierarchy_groups::SearchUserHierarchyGroupsOutput, + crate::operation::search_user_hierarchy_groups::SearchUserHierarchyGroupsError, + > for SearchUserHierarchyGroupsFluentBuilder +{ + fn send( + self, + config_override: crate::config::Builder, + ) -> crate::client::customize::internal::BoxFuture< + crate::client::customize::internal::SendResult< + crate::operation::search_user_hierarchy_groups::SearchUserHierarchyGroupsOutput, + crate::operation::search_user_hierarchy_groups::SearchUserHierarchyGroupsError, + >, + > { + ::std::boxed::Box::pin(async move { self.config_override(config_override).send().await }) + } +} +impl SearchUserHierarchyGroupsFluentBuilder { + /// Creates a new `SearchUserHierarchyGroupsFluentBuilder`. + pub(crate) fn new(handle: ::std::sync::Arc) -> Self { + Self { + handle, + inner: ::std::default::Default::default(), + config_override: ::std::option::Option::None, + } + } + /// Access the SearchUserHierarchyGroups as a reference. + pub fn as_input(&self) -> &crate::operation::search_user_hierarchy_groups::builders::SearchUserHierarchyGroupsInputBuilder { + &self.inner + } + /// Sends the request and returns the response. + /// + /// If an error occurs, an `SdkError` will be returned with additional details that + /// can be matched against. + /// + /// By default, any retryable failures will be retried twice. Retry behavior + /// is configurable with the [RetryConfig](aws_smithy_types::retry::RetryConfig), which can be + /// set when configuring the client. + pub async fn send( + self, + ) -> ::std::result::Result< + crate::operation::search_user_hierarchy_groups::SearchUserHierarchyGroupsOutput, + ::aws_smithy_runtime_api::client::result::SdkError< + crate::operation::search_user_hierarchy_groups::SearchUserHierarchyGroupsError, + ::aws_smithy_runtime_api::client::orchestrator::HttpResponse, + >, + > { + let input = self + .inner + .build() + .map_err(::aws_smithy_runtime_api::client::result::SdkError::construction_failure)?; + let runtime_plugins = crate::operation::search_user_hierarchy_groups::SearchUserHierarchyGroups::operation_runtime_plugins( + self.handle.runtime_plugins.clone(), + &self.handle.conf, + self.config_override, + ); + crate::operation::search_user_hierarchy_groups::SearchUserHierarchyGroups::orchestrate(&runtime_plugins, input).await + } + + /// Consumes this builder, creating a customizable operation that can be modified before being sent. + pub fn customize( + self, + ) -> crate::client::customize::CustomizableOperation< + crate::operation::search_user_hierarchy_groups::SearchUserHierarchyGroupsOutput, + crate::operation::search_user_hierarchy_groups::SearchUserHierarchyGroupsError, + Self, + > { + crate::client::customize::CustomizableOperation::new(self) + } + pub(crate) fn config_override(mut self, config_override: impl ::std::convert::Into) -> Self { + self.set_config_override(::std::option::Option::Some(config_override.into())); + self + } + + pub(crate) fn set_config_override(&mut self, config_override: ::std::option::Option) -> &mut Self { + self.config_override = config_override; + self + } + /// Create a paginator for this request + /// + /// Paginators are used by calling [`send().await`](crate::operation::search_user_hierarchy_groups::paginator::SearchUserHierarchyGroupsPaginator::send) which returns a [`PaginationStream`](aws_smithy_async::future::pagination_stream::PaginationStream). + pub fn into_paginator(self) -> crate::operation::search_user_hierarchy_groups::paginator::SearchUserHierarchyGroupsPaginator { + crate::operation::search_user_hierarchy_groups::paginator::SearchUserHierarchyGroupsPaginator::new(self.handle, self.inner) + } + ///

The identifier of the Amazon Connect instance. You can find the instanceId in the ARN of the instance.

+ pub fn instance_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self { + self.inner = self.inner.instance_id(input.into()); + self + } + ///

The identifier of the Amazon Connect instance. You can find the instanceId in the ARN of the instance.

+ pub fn set_instance_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self { + self.inner = self.inner.set_instance_id(input); + self + } + ///

The identifier of the Amazon Connect instance. You can find the instanceId in the ARN of the instance.

+ pub fn get_instance_id(&self) -> &::std::option::Option<::std::string::String> { + self.inner.get_instance_id() + } + ///

The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.

+ pub fn next_token(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self { + self.inner = self.inner.next_token(input.into()); + self + } + ///

The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.

+ pub fn set_next_token(mut self, input: ::std::option::Option<::std::string::String>) -> Self { + self.inner = self.inner.set_next_token(input); + self + } + ///

The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.

+ pub fn get_next_token(&self) -> &::std::option::Option<::std::string::String> { + self.inner.get_next_token() + } + ///

The maximum number of results to return per page.

+ pub fn max_results(mut self, input: i32) -> Self { + self.inner = self.inner.max_results(input); + self + } + ///

The maximum number of results to return per page.

+ pub fn set_max_results(mut self, input: ::std::option::Option) -> Self { + self.inner = self.inner.set_max_results(input); + self + } + ///

The maximum number of results to return per page.

+ pub fn get_max_results(&self) -> &::std::option::Option { + self.inner.get_max_results() + } + ///

Filters to be applied to search results.

+ pub fn search_filter(mut self, input: crate::types::UserHierarchyGroupSearchFilter) -> Self { + self.inner = self.inner.search_filter(input); + self + } + ///

Filters to be applied to search results.

+ pub fn set_search_filter(mut self, input: ::std::option::Option) -> Self { + self.inner = self.inner.set_search_filter(input); + self + } + ///

Filters to be applied to search results.

+ pub fn get_search_filter(&self) -> &::std::option::Option { + self.inner.get_search_filter() + } + ///

The search criteria to be used to return UserHierarchyGroups.

+ pub fn search_criteria(mut self, input: crate::types::UserHierarchyGroupSearchCriteria) -> Self { + self.inner = self.inner.search_criteria(input); + self + } + ///

The search criteria to be used to return UserHierarchyGroups.

+ pub fn set_search_criteria(mut self, input: ::std::option::Option) -> Self { + self.inner = self.inner.set_search_criteria(input); + self + } + ///

The search criteria to be used to return UserHierarchyGroups.

+ pub fn get_search_criteria(&self) -> &::std::option::Option { + self.inner.get_search_criteria() + } +} diff --git a/sdk/connect/src/operation/search_user_hierarchy_groups/paginator.rs b/sdk/connect/src/operation/search_user_hierarchy_groups/paginator.rs new file mode 100644 index 000000000000..a6a3709eddfc --- /dev/null +++ b/sdk/connect/src/operation/search_user_hierarchy_groups/paginator.rs @@ -0,0 +1,149 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. +/// Paginator for [`SearchUserHierarchyGroups`](crate::operation::search_user_hierarchy_groups::SearchUserHierarchyGroups) +pub struct SearchUserHierarchyGroupsPaginator { + handle: std::sync::Arc, + builder: crate::operation::search_user_hierarchy_groups::builders::SearchUserHierarchyGroupsInputBuilder, + stop_on_duplicate_token: bool, +} + +impl SearchUserHierarchyGroupsPaginator { + /// Create a new paginator-wrapper + pub(crate) fn new( + handle: std::sync::Arc, + builder: crate::operation::search_user_hierarchy_groups::builders::SearchUserHierarchyGroupsInputBuilder, + ) -> Self { + Self { + handle, + builder, + stop_on_duplicate_token: true, + } + } + + /// Set the page size + /// + /// _Note: this method will override any previously set value for `max_results`_ + pub fn page_size(mut self, limit: i32) -> Self { + self.builder.max_results = ::std::option::Option::Some(limit); + self + } + + /// Create a flattened paginator + /// + /// This paginator automatically flattens results using `user_hierarchy_groups`. Queries to the underlying service + /// are dispatched lazily. + pub fn items(self) -> crate::operation::search_user_hierarchy_groups::paginator::SearchUserHierarchyGroupsPaginatorItems { + crate::operation::search_user_hierarchy_groups::paginator::SearchUserHierarchyGroupsPaginatorItems(self) + } + + /// Stop paginating when the service returns the same pagination token twice in a row. + /// + /// Defaults to true. + /// + /// For certain operations, it may be useful to continue on duplicate token. For example, + /// if an operation is for tailing a log file in real-time, then continuing may be desired. + /// This option can be set to `false` to accommodate these use cases. + pub fn stop_on_duplicate_token(mut self, stop_on_duplicate_token: bool) -> Self { + self.stop_on_duplicate_token = stop_on_duplicate_token; + self + } + + /// Create the pagination stream + /// + /// _Note:_ No requests will be dispatched until the stream is used + /// (e.g. with the [`.next().await`](aws_smithy_async::future::pagination_stream::PaginationStream::next) method). + pub fn send( + self, + ) -> ::aws_smithy_async::future::pagination_stream::PaginationStream< + ::std::result::Result< + crate::operation::search_user_hierarchy_groups::SearchUserHierarchyGroupsOutput, + ::aws_smithy_runtime_api::client::result::SdkError< + crate::operation::search_user_hierarchy_groups::SearchUserHierarchyGroupsError, + ::aws_smithy_runtime_api::client::orchestrator::HttpResponse, + >, + >, + > { + // Move individual fields out of self for the borrow checker + let builder = self.builder; + let handle = self.handle; + let runtime_plugins = crate::operation::search_user_hierarchy_groups::SearchUserHierarchyGroups::operation_runtime_plugins( + handle.runtime_plugins.clone(), + &handle.conf, + ::std::option::Option::None, + ); + ::aws_smithy_async::future::pagination_stream::PaginationStream::new(::aws_smithy_async::future::pagination_stream::fn_stream::FnStream::new( + move |tx| { + ::std::boxed::Box::pin(async move { + // Build the input for the first time. If required fields are missing, this is where we'll produce an early error. + let mut input = match builder + .build() + .map_err(::aws_smithy_runtime_api::client::result::SdkError::construction_failure) + { + ::std::result::Result::Ok(input) => input, + ::std::result::Result::Err(e) => { + let _ = tx.send(::std::result::Result::Err(e)).await; + return; + } + }; + loop { + let resp = + crate::operation::search_user_hierarchy_groups::SearchUserHierarchyGroups::orchestrate(&runtime_plugins, input.clone()) + .await; + // If the input member is None or it was an error + let done = match resp { + ::std::result::Result::Ok(ref resp) => { + let new_token = crate::lens::reflens_search_user_hierarchy_groups_output_output_next_token(resp); + // Pagination is exhausted when the next token is an empty string + let is_empty = new_token.map(|token| token.is_empty()).unwrap_or(true); + if !is_empty && new_token == input.next_token.as_ref() && self.stop_on_duplicate_token { + true + } else { + input.next_token = new_token.cloned(); + is_empty + } + } + ::std::result::Result::Err(_) => true, + }; + if tx.send(resp).await.is_err() { + // receiving end was dropped + return; + } + if done { + return; + } + } + }) + }, + )) + } +} + +/// Flattened paginator for `SearchUserHierarchyGroupsPaginator` +/// +/// This is created with [`.items()`](SearchUserHierarchyGroupsPaginator::items) +pub struct SearchUserHierarchyGroupsPaginatorItems(SearchUserHierarchyGroupsPaginator); + +impl SearchUserHierarchyGroupsPaginatorItems { + /// Create the pagination stream + /// + /// _Note_: No requests will be dispatched until the stream is used + /// (e.g. with the [`.next().await`](aws_smithy_async::future::pagination_stream::PaginationStream::next) method). + /// + /// To read the entirety of the paginator, use [`.collect::, _>()`](aws_smithy_async::future::pagination_stream::PaginationStream::collect). + pub fn send( + self, + ) -> ::aws_smithy_async::future::pagination_stream::PaginationStream< + ::std::result::Result< + crate::types::HierarchyGroup, + ::aws_smithy_runtime_api::client::result::SdkError< + crate::operation::search_user_hierarchy_groups::SearchUserHierarchyGroupsError, + ::aws_smithy_runtime_api::client::orchestrator::HttpResponse, + >, + >, + > { + ::aws_smithy_async::future::pagination_stream::TryFlatMap::new(self.0.send()).flat_map(|page| { + crate::lens::lens_search_user_hierarchy_groups_output_output_user_hierarchy_groups(page) + .unwrap_or_default() + .into_iter() + }) + } +} diff --git a/sdk/connect/src/protocol_serde.rs b/sdk/connect/src/protocol_serde.rs index f0bcdf7c0492..b128640f6926 100644 --- a/sdk/connect/src/protocol_serde.rs +++ b/sdk/connect/src/protocol_serde.rs @@ -369,6 +369,8 @@ pub(crate) mod shape_resume_contact; pub(crate) mod shape_resume_contact_recording; +pub(crate) mod shape_search_agent_statuses; + pub(crate) mod shape_search_available_phone_numbers; pub(crate) mod shape_search_contact_flow_modules; @@ -393,6 +395,8 @@ pub(crate) mod shape_search_routing_profiles; pub(crate) mod shape_search_security_profiles; +pub(crate) mod shape_search_user_hierarchy_groups; + pub(crate) mod shape_search_users; pub(crate) mod shape_search_vocabularies; @@ -711,6 +715,8 @@ pub(crate) mod shape_resume_contact_input; pub(crate) mod shape_resume_contact_recording_input; +pub(crate) mod shape_search_agent_statuses_input; + pub(crate) mod shape_search_available_phone_numbers_input; pub(crate) mod shape_search_contact_flow_modules_input; @@ -735,6 +741,8 @@ pub(crate) mod shape_search_routing_profiles_input; pub(crate) mod shape_search_security_profiles_input; +pub(crate) mod shape_search_user_hierarchy_groups_input; + pub(crate) mod shape_search_users_input; pub(crate) mod shape_search_vocabularies_input; @@ -879,6 +887,12 @@ pub(crate) mod shape_agent_config; pub(crate) mod shape_agent_status; +pub(crate) mod shape_agent_status_list; + +pub(crate) mod shape_agent_status_search_criteria; + +pub(crate) mod shape_agent_status_search_filter; + pub(crate) mod shape_agent_status_summary_list; pub(crate) mod shape_allowed_capabilities; @@ -1201,6 +1215,12 @@ pub(crate) mod shape_user_data_filters; pub(crate) mod shape_user_data_list; +pub(crate) mod shape_user_hierarchy_group_list; + +pub(crate) mod shape_user_hierarchy_group_search_criteria; + +pub(crate) mod shape_user_hierarchy_group_search_filter; + pub(crate) mod shape_user_identity_info; pub(crate) mod shape_user_phone_config; @@ -1273,6 +1293,8 @@ pub(crate) mod shape_contact_search_summary; pub(crate) mod shape_contact_tag_map; +pub(crate) mod shape_control_plane_attribute_filter; + pub(crate) mod shape_control_plane_tag_filter; pub(crate) mod shape_control_plane_user_attribute_filter; @@ -1369,6 +1391,8 @@ pub(crate) mod shape_kinesis_video_stream_config; pub(crate) mod shape_lex_bot_config; +pub(crate) mod shape_list_condition; + pub(crate) mod shape_list_phone_numbers_summary; pub(crate) mod shape_media_concurrencies; @@ -1517,6 +1541,10 @@ pub(crate) mod shape_attribute_and_condition; pub(crate) mod shape_channel_to_count_map; +pub(crate) mod shape_common_attribute_and_condition; + +pub(crate) mod shape_condition; + pub(crate) mod shape_contact_search_summary_agent_info; pub(crate) mod shape_contact_search_summary_queue_info; @@ -1623,6 +1651,8 @@ pub(crate) mod shape_historical_metric_data; pub(crate) mod shape_metric_data_v2; +pub(crate) mod shape_number_condition; + pub(crate) mod shape_participant_timer_value; pub(crate) mod shape_queue_reference; diff --git a/sdk/connect/src/protocol_serde/shape_agent_status_list.rs b/sdk/connect/src/protocol_serde/shape_agent_status_list.rs new file mode 100644 index 000000000000..31957679e858 --- /dev/null +++ b/sdk/connect/src/protocol_serde/shape_agent_status_list.rs @@ -0,0 +1,32 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. +pub(crate) fn de_agent_status_list<'a, I>( + tokens: &mut ::std::iter::Peekable, +) -> Result>, ::aws_smithy_json::deserialize::error::DeserializeError> +where + I: Iterator, ::aws_smithy_json::deserialize::error::DeserializeError>>, +{ + match tokens.next().transpose()? { + Some(::aws_smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None), + Some(::aws_smithy_json::deserialize::Token::StartArray { .. }) => { + let mut items = Vec::new(); + loop { + match tokens.peek() { + Some(Ok(::aws_smithy_json::deserialize::Token::EndArray { .. })) => { + tokens.next().transpose().unwrap(); + break; + } + _ => { + let value = crate::protocol_serde::shape_agent_status::de_agent_status(tokens)?; + if let Some(value) = value { + items.push(value); + } + } + } + } + Ok(Some(items)) + } + _ => Err(::aws_smithy_json::deserialize::error::DeserializeError::custom( + "expected start array or null", + )), + } +} diff --git a/sdk/connect/src/protocol_serde/shape_agent_status_search_criteria.rs b/sdk/connect/src/protocol_serde/shape_agent_status_search_criteria.rs new file mode 100644 index 000000000000..3ed47df483f5 --- /dev/null +++ b/sdk/connect/src/protocol_serde/shape_agent_status_search_criteria.rs @@ -0,0 +1,37 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. +pub fn ser_agent_status_search_criteria( + object: &mut ::aws_smithy_json::serialize::JsonObjectWriter, + input: &crate::types::AgentStatusSearchCriteria, +) -> Result<(), ::aws_smithy_types::error::operation::SerializationError> { + if let Some(var_1) = &input.or_conditions { + let mut array_2 = object.key("OrConditions").start_array(); + for item_3 in var_1 { + { + #[allow(unused_mut)] + let mut object_4 = array_2.value().start_object(); + crate::protocol_serde::shape_agent_status_search_criteria::ser_agent_status_search_criteria(&mut object_4, item_3)?; + object_4.finish(); + } + } + array_2.finish(); + } + if let Some(var_5) = &input.and_conditions { + let mut array_6 = object.key("AndConditions").start_array(); + for item_7 in var_5 { + { + #[allow(unused_mut)] + let mut object_8 = array_6.value().start_object(); + crate::protocol_serde::shape_agent_status_search_criteria::ser_agent_status_search_criteria(&mut object_8, item_7)?; + object_8.finish(); + } + } + array_6.finish(); + } + if let Some(var_9) = &input.string_condition { + #[allow(unused_mut)] + let mut object_10 = object.key("StringCondition").start_object(); + crate::protocol_serde::shape_string_condition::ser_string_condition(&mut object_10, var_9)?; + object_10.finish(); + } + Ok(()) +} diff --git a/sdk/connect/src/protocol_serde/shape_agent_status_search_filter.rs b/sdk/connect/src/protocol_serde/shape_agent_status_search_filter.rs new file mode 100644 index 000000000000..d04716d0a2c9 --- /dev/null +++ b/sdk/connect/src/protocol_serde/shape_agent_status_search_filter.rs @@ -0,0 +1,13 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. +pub fn ser_agent_status_search_filter( + object: &mut ::aws_smithy_json::serialize::JsonObjectWriter, + input: &crate::types::AgentStatusSearchFilter, +) -> Result<(), ::aws_smithy_types::error::operation::SerializationError> { + if let Some(var_1) = &input.attribute_filter { + #[allow(unused_mut)] + let mut object_2 = object.key("AttributeFilter").start_object(); + crate::protocol_serde::shape_control_plane_attribute_filter::ser_control_plane_attribute_filter(&mut object_2, var_1)?; + object_2.finish(); + } + Ok(()) +} diff --git a/sdk/connect/src/protocol_serde/shape_common_attribute_and_condition.rs b/sdk/connect/src/protocol_serde/shape_common_attribute_and_condition.rs new file mode 100644 index 000000000000..15aaf795b6a2 --- /dev/null +++ b/sdk/connect/src/protocol_serde/shape_common_attribute_and_condition.rs @@ -0,0 +1,19 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. +pub fn ser_common_attribute_and_condition( + object: &mut ::aws_smithy_json::serialize::JsonObjectWriter, + input: &crate::types::CommonAttributeAndCondition, +) -> Result<(), ::aws_smithy_types::error::operation::SerializationError> { + if let Some(var_1) = &input.tag_conditions { + let mut array_2 = object.key("TagConditions").start_array(); + for item_3 in var_1 { + { + #[allow(unused_mut)] + let mut object_4 = array_2.value().start_object(); + crate::protocol_serde::shape_tag_condition::ser_tag_condition(&mut object_4, item_3)?; + object_4.finish(); + } + } + array_2.finish(); + } + Ok(()) +} diff --git a/sdk/connect/src/protocol_serde/shape_condition.rs b/sdk/connect/src/protocol_serde/shape_condition.rs new file mode 100644 index 000000000000..24be8140ce79 --- /dev/null +++ b/sdk/connect/src/protocol_serde/shape_condition.rs @@ -0,0 +1,19 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. +pub fn ser_condition( + object: &mut ::aws_smithy_json::serialize::JsonObjectWriter, + input: &crate::types::Condition, +) -> Result<(), ::aws_smithy_types::error::operation::SerializationError> { + if let Some(var_1) = &input.string_condition { + #[allow(unused_mut)] + let mut object_2 = object.key("StringCondition").start_object(); + crate::protocol_serde::shape_string_condition::ser_string_condition(&mut object_2, var_1)?; + object_2.finish(); + } + if let Some(var_3) = &input.number_condition { + #[allow(unused_mut)] + let mut object_4 = object.key("NumberCondition").start_object(); + crate::protocol_serde::shape_number_condition::ser_number_condition(&mut object_4, var_3)?; + object_4.finish(); + } + Ok(()) +} diff --git a/sdk/connect/src/protocol_serde/shape_control_plane_attribute_filter.rs b/sdk/connect/src/protocol_serde/shape_control_plane_attribute_filter.rs new file mode 100644 index 000000000000..2bfa0d25392f --- /dev/null +++ b/sdk/connect/src/protocol_serde/shape_control_plane_attribute_filter.rs @@ -0,0 +1,31 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. +pub fn ser_control_plane_attribute_filter( + object: &mut ::aws_smithy_json::serialize::JsonObjectWriter, + input: &crate::types::ControlPlaneAttributeFilter, +) -> Result<(), ::aws_smithy_types::error::operation::SerializationError> { + if let Some(var_1) = &input.or_conditions { + let mut array_2 = object.key("OrConditions").start_array(); + for item_3 in var_1 { + { + #[allow(unused_mut)] + let mut object_4 = array_2.value().start_object(); + crate::protocol_serde::shape_common_attribute_and_condition::ser_common_attribute_and_condition(&mut object_4, item_3)?; + object_4.finish(); + } + } + array_2.finish(); + } + if let Some(var_5) = &input.and_condition { + #[allow(unused_mut)] + let mut object_6 = object.key("AndCondition").start_object(); + crate::protocol_serde::shape_common_attribute_and_condition::ser_common_attribute_and_condition(&mut object_6, var_5)?; + object_6.finish(); + } + if let Some(var_7) = &input.tag_condition { + #[allow(unused_mut)] + let mut object_8 = object.key("TagCondition").start_object(); + crate::protocol_serde::shape_tag_condition::ser_tag_condition(&mut object_8, var_7)?; + object_8.finish(); + } + Ok(()) +} diff --git a/sdk/connect/src/protocol_serde/shape_list_condition.rs b/sdk/connect/src/protocol_serde/shape_list_condition.rs new file mode 100644 index 000000000000..0f83fb016622 --- /dev/null +++ b/sdk/connect/src/protocol_serde/shape_list_condition.rs @@ -0,0 +1,22 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. +pub fn ser_list_condition( + object: &mut ::aws_smithy_json::serialize::JsonObjectWriter, + input: &crate::types::ListCondition, +) -> Result<(), ::aws_smithy_types::error::operation::SerializationError> { + if let Some(var_1) = &input.target_list_type { + object.key("TargetListType").string(var_1.as_str()); + } + if let Some(var_2) = &input.conditions { + let mut array_3 = object.key("Conditions").start_array(); + for item_4 in var_2 { + { + #[allow(unused_mut)] + let mut object_5 = array_3.value().start_object(); + crate::protocol_serde::shape_condition::ser_condition(&mut object_5, item_4)?; + object_5.finish(); + } + } + array_3.finish(); + } + Ok(()) +} diff --git a/sdk/connect/src/protocol_serde/shape_number_condition.rs b/sdk/connect/src/protocol_serde/shape_number_condition.rs new file mode 100644 index 000000000000..cc732e31da31 --- /dev/null +++ b/sdk/connect/src/protocol_serde/shape_number_condition.rs @@ -0,0 +1,25 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. +pub fn ser_number_condition( + object: &mut ::aws_smithy_json::serialize::JsonObjectWriter, + input: &crate::types::NumberCondition, +) -> Result<(), ::aws_smithy_types::error::operation::SerializationError> { + if let Some(var_1) = &input.field_name { + object.key("FieldName").string(var_1.as_str()); + } + if let Some(var_2) = &input.min_value { + object.key("MinValue").number( + #[allow(clippy::useless_conversion)] + ::aws_smithy_types::Number::NegInt((*var_2).into()), + ); + } + if let Some(var_3) = &input.max_value { + object.key("MaxValue").number( + #[allow(clippy::useless_conversion)] + ::aws_smithy_types::Number::NegInt((*var_3).into()), + ); + } + if let Some(var_4) = &input.comparison_type { + object.key("ComparisonType").string(var_4.as_str()); + } + Ok(()) +} diff --git a/sdk/connect/src/protocol_serde/shape_search_agent_statuses.rs b/sdk/connect/src/protocol_serde/shape_search_agent_statuses.rs new file mode 100644 index 000000000000..35cf99532b4d --- /dev/null +++ b/sdk/connect/src/protocol_serde/shape_search_agent_statuses.rs @@ -0,0 +1,178 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. +#[allow(clippy::unnecessary_wraps)] +pub fn de_search_agent_statuses_http_error( + _response_status: u16, + _response_headers: &::aws_smithy_runtime_api::http::Headers, + _response_body: &[u8], +) -> std::result::Result< + crate::operation::search_agent_statuses::SearchAgentStatusesOutput, + crate::operation::search_agent_statuses::SearchAgentStatusesError, +> { + #[allow(unused_mut)] + let mut generic_builder = crate::protocol_serde::parse_http_error_metadata(_response_status, _response_headers, _response_body) + .map_err(crate::operation::search_agent_statuses::SearchAgentStatusesError::unhandled)?; + generic_builder = ::aws_types::request_id::apply_request_id(generic_builder, _response_headers); + let generic = generic_builder.build(); + let error_code = match generic.code() { + Some(code) => code, + None => return Err(crate::operation::search_agent_statuses::SearchAgentStatusesError::unhandled(generic)), + }; + + let _error_message = generic.message().map(|msg| msg.to_owned()); + Err(match error_code { + "InternalServiceException" => crate::operation::search_agent_statuses::SearchAgentStatusesError::InternalServiceException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::types::error::builders::InternalServiceExceptionBuilder::default(); + output = crate::protocol_serde::shape_internal_service_exception::de_internal_service_exception_json_err(_response_body, output) + .map_err(crate::operation::search_agent_statuses::SearchAgentStatusesError::unhandled)?; + let output = output.meta(generic); + output.build() + }; + if tmp.message.is_none() { + tmp.message = _error_message; + } + tmp + }), + "InvalidParameterException" => crate::operation::search_agent_statuses::SearchAgentStatusesError::InvalidParameterException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::types::error::builders::InvalidParameterExceptionBuilder::default(); + output = crate::protocol_serde::shape_invalid_parameter_exception::de_invalid_parameter_exception_json_err(_response_body, output) + .map_err(crate::operation::search_agent_statuses::SearchAgentStatusesError::unhandled)?; + let output = output.meta(generic); + output.build() + }; + if tmp.message.is_none() { + tmp.message = _error_message; + } + tmp + }), + "InvalidRequestException" => crate::operation::search_agent_statuses::SearchAgentStatusesError::InvalidRequestException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::types::error::builders::InvalidRequestExceptionBuilder::default(); + output = crate::protocol_serde::shape_invalid_request_exception::de_invalid_request_exception_json_err(_response_body, output) + .map_err(crate::operation::search_agent_statuses::SearchAgentStatusesError::unhandled)?; + let output = output.meta(generic); + output.build() + }; + if tmp.message.is_none() { + tmp.message = _error_message; + } + tmp + }), + "ResourceNotFoundException" => crate::operation::search_agent_statuses::SearchAgentStatusesError::ResourceNotFoundException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::types::error::builders::ResourceNotFoundExceptionBuilder::default(); + output = crate::protocol_serde::shape_resource_not_found_exception::de_resource_not_found_exception_json_err(_response_body, output) + .map_err(crate::operation::search_agent_statuses::SearchAgentStatusesError::unhandled)?; + let output = output.meta(generic); + output.build() + }; + if tmp.message.is_none() { + tmp.message = _error_message; + } + tmp + }), + "ThrottlingException" => crate::operation::search_agent_statuses::SearchAgentStatusesError::ThrottlingException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::types::error::builders::ThrottlingExceptionBuilder::default(); + output = crate::protocol_serde::shape_throttling_exception::de_throttling_exception_json_err(_response_body, output) + .map_err(crate::operation::search_agent_statuses::SearchAgentStatusesError::unhandled)?; + let output = output.meta(generic); + output.build() + }; + if tmp.message.is_none() { + tmp.message = _error_message; + } + tmp + }), + _ => crate::operation::search_agent_statuses::SearchAgentStatusesError::generic(generic), + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn de_search_agent_statuses_http_response( + _response_status: u16, + _response_headers: &::aws_smithy_runtime_api::http::Headers, + _response_body: &[u8], +) -> std::result::Result< + crate::operation::search_agent_statuses::SearchAgentStatusesOutput, + crate::operation::search_agent_statuses::SearchAgentStatusesError, +> { + Ok({ + #[allow(unused_mut)] + let mut output = crate::operation::search_agent_statuses::builders::SearchAgentStatusesOutputBuilder::default(); + output = crate::protocol_serde::shape_search_agent_statuses::de_search_agent_statuses(_response_body, output) + .map_err(crate::operation::search_agent_statuses::SearchAgentStatusesError::unhandled)?; + output._set_request_id(::aws_types::request_id::RequestId::request_id(_response_headers).map(str::to_string)); + output.build() + }) +} + +pub fn ser_search_agent_statuses_input( + input: &crate::operation::search_agent_statuses::SearchAgentStatusesInput, +) -> Result<::aws_smithy_types::body::SdkBody, ::aws_smithy_types::error::operation::SerializationError> { + let mut out = String::new(); + let mut object = ::aws_smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::protocol_serde::shape_search_agent_statuses_input::ser_search_agent_statuses_input_input(&mut object, input)?; + object.finish(); + Ok(::aws_smithy_types::body::SdkBody::from(out)) +} + +pub(crate) fn de_search_agent_statuses( + value: &[u8], + mut builder: crate::operation::search_agent_statuses::builders::SearchAgentStatusesOutputBuilder, +) -> Result< + crate::operation::search_agent_statuses::builders::SearchAgentStatusesOutputBuilder, + ::aws_smithy_json::deserialize::error::DeserializeError, +> { + let mut tokens_owned = ::aws_smithy_json::deserialize::json_token_iter(crate::protocol_serde::or_empty_doc(value)).peekable(); + let tokens = &mut tokens_owned; + ::aws_smithy_json::deserialize::token::expect_start_object(tokens.next())?; + loop { + match tokens.next().transpose()? { + Some(::aws_smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(::aws_smithy_json::deserialize::Token::ObjectKey { key, .. }) => match key.to_unescaped()?.as_ref() { + "AgentStatuses" => { + builder = builder.set_agent_statuses(crate::protocol_serde::shape_agent_status_list::de_agent_status_list(tokens)?); + } + "ApproximateTotalCount" => { + builder = builder.set_approximate_total_count( + ::aws_smithy_json::deserialize::token::expect_number_or_null(tokens.next())? + .map(i64::try_from) + .transpose()?, + ); + } + "NextToken" => { + builder = builder.set_next_token( + ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + _ => ::aws_smithy_json::deserialize::token::skip_value(tokens)?, + }, + other => { + return Err(::aws_smithy_json::deserialize::error::DeserializeError::custom(format!( + "expected object key or end object, found: {:?}", + other + ))) + } + } + } + if tokens.next().is_some() { + return Err(::aws_smithy_json::deserialize::error::DeserializeError::custom( + "found more JSON tokens after completing parsing", + )); + } + Ok(builder) +} diff --git a/sdk/connect/src/protocol_serde/shape_search_agent_statuses_input.rs b/sdk/connect/src/protocol_serde/shape_search_agent_statuses_input.rs new file mode 100644 index 000000000000..a03146a986ff --- /dev/null +++ b/sdk/connect/src/protocol_serde/shape_search_agent_statuses_input.rs @@ -0,0 +1,31 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. +pub fn ser_search_agent_statuses_input_input( + object: &mut ::aws_smithy_json::serialize::JsonObjectWriter, + input: &crate::operation::search_agent_statuses::SearchAgentStatusesInput, +) -> Result<(), ::aws_smithy_types::error::operation::SerializationError> { + if let Some(var_1) = &input.instance_id { + object.key("InstanceId").string(var_1.as_str()); + } + if let Some(var_2) = &input.max_results { + object.key("MaxResults").number( + #[allow(clippy::useless_conversion)] + ::aws_smithy_types::Number::NegInt((*var_2).into()), + ); + } + if let Some(var_3) = &input.next_token { + object.key("NextToken").string(var_3.as_str()); + } + if let Some(var_4) = &input.search_criteria { + #[allow(unused_mut)] + let mut object_5 = object.key("SearchCriteria").start_object(); + crate::protocol_serde::shape_agent_status_search_criteria::ser_agent_status_search_criteria(&mut object_5, var_4)?; + object_5.finish(); + } + if let Some(var_6) = &input.search_filter { + #[allow(unused_mut)] + let mut object_7 = object.key("SearchFilter").start_object(); + crate::protocol_serde::shape_agent_status_search_filter::ser_agent_status_search_filter(&mut object_7, var_6)?; + object_7.finish(); + } + Ok(()) +} diff --git a/sdk/connect/src/protocol_serde/shape_search_user_hierarchy_groups.rs b/sdk/connect/src/protocol_serde/shape_search_user_hierarchy_groups.rs new file mode 100644 index 000000000000..bef74bf01f53 --- /dev/null +++ b/sdk/connect/src/protocol_serde/shape_search_user_hierarchy_groups.rs @@ -0,0 +1,184 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. +#[allow(clippy::unnecessary_wraps)] +pub fn de_search_user_hierarchy_groups_http_error( + _response_status: u16, + _response_headers: &::aws_smithy_runtime_api::http::Headers, + _response_body: &[u8], +) -> std::result::Result< + crate::operation::search_user_hierarchy_groups::SearchUserHierarchyGroupsOutput, + crate::operation::search_user_hierarchy_groups::SearchUserHierarchyGroupsError, +> { + #[allow(unused_mut)] + let mut generic_builder = crate::protocol_serde::parse_http_error_metadata(_response_status, _response_headers, _response_body) + .map_err(crate::operation::search_user_hierarchy_groups::SearchUserHierarchyGroupsError::unhandled)?; + generic_builder = ::aws_types::request_id::apply_request_id(generic_builder, _response_headers); + let generic = generic_builder.build(); + let error_code = match generic.code() { + Some(code) => code, + None => { + return Err(crate::operation::search_user_hierarchy_groups::SearchUserHierarchyGroupsError::unhandled( + generic, + )) + } + }; + + let _error_message = generic.message().map(|msg| msg.to_owned()); + Err(match error_code { + "InternalServiceException" => crate::operation::search_user_hierarchy_groups::SearchUserHierarchyGroupsError::InternalServiceException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::types::error::builders::InternalServiceExceptionBuilder::default(); + output = crate::protocol_serde::shape_internal_service_exception::de_internal_service_exception_json_err(_response_body, output) + .map_err(crate::operation::search_user_hierarchy_groups::SearchUserHierarchyGroupsError::unhandled)?; + let output = output.meta(generic); + output.build() + }; + if tmp.message.is_none() { + tmp.message = _error_message; + } + tmp + }), + "InvalidParameterException" => crate::operation::search_user_hierarchy_groups::SearchUserHierarchyGroupsError::InvalidParameterException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::types::error::builders::InvalidParameterExceptionBuilder::default(); + output = crate::protocol_serde::shape_invalid_parameter_exception::de_invalid_parameter_exception_json_err(_response_body, output) + .map_err(crate::operation::search_user_hierarchy_groups::SearchUserHierarchyGroupsError::unhandled)?; + let output = output.meta(generic); + output.build() + }; + if tmp.message.is_none() { + tmp.message = _error_message; + } + tmp + }), + "InvalidRequestException" => crate::operation::search_user_hierarchy_groups::SearchUserHierarchyGroupsError::InvalidRequestException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::types::error::builders::InvalidRequestExceptionBuilder::default(); + output = crate::protocol_serde::shape_invalid_request_exception::de_invalid_request_exception_json_err(_response_body, output) + .map_err(crate::operation::search_user_hierarchy_groups::SearchUserHierarchyGroupsError::unhandled)?; + let output = output.meta(generic); + output.build() + }; + if tmp.message.is_none() { + tmp.message = _error_message; + } + tmp + }), + "ResourceNotFoundException" => crate::operation::search_user_hierarchy_groups::SearchUserHierarchyGroupsError::ResourceNotFoundException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::types::error::builders::ResourceNotFoundExceptionBuilder::default(); + output = crate::protocol_serde::shape_resource_not_found_exception::de_resource_not_found_exception_json_err(_response_body, output) + .map_err(crate::operation::search_user_hierarchy_groups::SearchUserHierarchyGroupsError::unhandled)?; + let output = output.meta(generic); + output.build() + }; + if tmp.message.is_none() { + tmp.message = _error_message; + } + tmp + }), + "ThrottlingException" => crate::operation::search_user_hierarchy_groups::SearchUserHierarchyGroupsError::ThrottlingException({ + #[allow(unused_mut)] + let mut tmp = { + #[allow(unused_mut)] + let mut output = crate::types::error::builders::ThrottlingExceptionBuilder::default(); + output = crate::protocol_serde::shape_throttling_exception::de_throttling_exception_json_err(_response_body, output) + .map_err(crate::operation::search_user_hierarchy_groups::SearchUserHierarchyGroupsError::unhandled)?; + let output = output.meta(generic); + output.build() + }; + if tmp.message.is_none() { + tmp.message = _error_message; + } + tmp + }), + _ => crate::operation::search_user_hierarchy_groups::SearchUserHierarchyGroupsError::generic(generic), + }) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn de_search_user_hierarchy_groups_http_response( + _response_status: u16, + _response_headers: &::aws_smithy_runtime_api::http::Headers, + _response_body: &[u8], +) -> std::result::Result< + crate::operation::search_user_hierarchy_groups::SearchUserHierarchyGroupsOutput, + crate::operation::search_user_hierarchy_groups::SearchUserHierarchyGroupsError, +> { + Ok({ + #[allow(unused_mut)] + let mut output = crate::operation::search_user_hierarchy_groups::builders::SearchUserHierarchyGroupsOutputBuilder::default(); + output = crate::protocol_serde::shape_search_user_hierarchy_groups::de_search_user_hierarchy_groups(_response_body, output) + .map_err(crate::operation::search_user_hierarchy_groups::SearchUserHierarchyGroupsError::unhandled)?; + output._set_request_id(::aws_types::request_id::RequestId::request_id(_response_headers).map(str::to_string)); + output.build() + }) +} + +pub fn ser_search_user_hierarchy_groups_input( + input: &crate::operation::search_user_hierarchy_groups::SearchUserHierarchyGroupsInput, +) -> Result<::aws_smithy_types::body::SdkBody, ::aws_smithy_types::error::operation::SerializationError> { + let mut out = String::new(); + let mut object = ::aws_smithy_json::serialize::JsonObjectWriter::new(&mut out); + crate::protocol_serde::shape_search_user_hierarchy_groups_input::ser_search_user_hierarchy_groups_input_input(&mut object, input)?; + object.finish(); + Ok(::aws_smithy_types::body::SdkBody::from(out)) +} + +pub(crate) fn de_search_user_hierarchy_groups( + value: &[u8], + mut builder: crate::operation::search_user_hierarchy_groups::builders::SearchUserHierarchyGroupsOutputBuilder, +) -> Result< + crate::operation::search_user_hierarchy_groups::builders::SearchUserHierarchyGroupsOutputBuilder, + ::aws_smithy_json::deserialize::error::DeserializeError, +> { + let mut tokens_owned = ::aws_smithy_json::deserialize::json_token_iter(crate::protocol_serde::or_empty_doc(value)).peekable(); + let tokens = &mut tokens_owned; + ::aws_smithy_json::deserialize::token::expect_start_object(tokens.next())?; + loop { + match tokens.next().transpose()? { + Some(::aws_smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(::aws_smithy_json::deserialize::Token::ObjectKey { key, .. }) => match key.to_unescaped()?.as_ref() { + "ApproximateTotalCount" => { + builder = builder.set_approximate_total_count( + ::aws_smithy_json::deserialize::token::expect_number_or_null(tokens.next())? + .map(i64::try_from) + .transpose()?, + ); + } + "NextToken" => { + builder = builder.set_next_token( + ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + "UserHierarchyGroups" => { + builder = builder.set_user_hierarchy_groups( + crate::protocol_serde::shape_user_hierarchy_group_list::de_user_hierarchy_group_list(tokens)?, + ); + } + _ => ::aws_smithy_json::deserialize::token::skip_value(tokens)?, + }, + other => { + return Err(::aws_smithy_json::deserialize::error::DeserializeError::custom(format!( + "expected object key or end object, found: {:?}", + other + ))) + } + } + } + if tokens.next().is_some() { + return Err(::aws_smithy_json::deserialize::error::DeserializeError::custom( + "found more JSON tokens after completing parsing", + )); + } + Ok(builder) +} diff --git a/sdk/connect/src/protocol_serde/shape_search_user_hierarchy_groups_input.rs b/sdk/connect/src/protocol_serde/shape_search_user_hierarchy_groups_input.rs new file mode 100644 index 000000000000..f9e9312bbbd0 --- /dev/null +++ b/sdk/connect/src/protocol_serde/shape_search_user_hierarchy_groups_input.rs @@ -0,0 +1,31 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. +pub fn ser_search_user_hierarchy_groups_input_input( + object: &mut ::aws_smithy_json::serialize::JsonObjectWriter, + input: &crate::operation::search_user_hierarchy_groups::SearchUserHierarchyGroupsInput, +) -> Result<(), ::aws_smithy_types::error::operation::SerializationError> { + if let Some(var_1) = &input.instance_id { + object.key("InstanceId").string(var_1.as_str()); + } + if let Some(var_2) = &input.max_results { + object.key("MaxResults").number( + #[allow(clippy::useless_conversion)] + ::aws_smithy_types::Number::NegInt((*var_2).into()), + ); + } + if let Some(var_3) = &input.next_token { + object.key("NextToken").string(var_3.as_str()); + } + if let Some(var_4) = &input.search_criteria { + #[allow(unused_mut)] + let mut object_5 = object.key("SearchCriteria").start_object(); + crate::protocol_serde::shape_user_hierarchy_group_search_criteria::ser_user_hierarchy_group_search_criteria(&mut object_5, var_4)?; + object_5.finish(); + } + if let Some(var_6) = &input.search_filter { + #[allow(unused_mut)] + let mut object_7 = object.key("SearchFilter").start_object(); + crate::protocol_serde::shape_user_hierarchy_group_search_filter::ser_user_hierarchy_group_search_filter(&mut object_7, var_6)?; + object_7.finish(); + } + Ok(()) +} diff --git a/sdk/connect/src/protocol_serde/shape_user_hierarchy_group_list.rs b/sdk/connect/src/protocol_serde/shape_user_hierarchy_group_list.rs new file mode 100644 index 000000000000..d5b4e287f1f2 --- /dev/null +++ b/sdk/connect/src/protocol_serde/shape_user_hierarchy_group_list.rs @@ -0,0 +1,32 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. +pub(crate) fn de_user_hierarchy_group_list<'a, I>( + tokens: &mut ::std::iter::Peekable, +) -> Result>, ::aws_smithy_json::deserialize::error::DeserializeError> +where + I: Iterator, ::aws_smithy_json::deserialize::error::DeserializeError>>, +{ + match tokens.next().transpose()? { + Some(::aws_smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None), + Some(::aws_smithy_json::deserialize::Token::StartArray { .. }) => { + let mut items = Vec::new(); + loop { + match tokens.peek() { + Some(Ok(::aws_smithy_json::deserialize::Token::EndArray { .. })) => { + tokens.next().transpose().unwrap(); + break; + } + _ => { + let value = crate::protocol_serde::shape_hierarchy_group::de_hierarchy_group(tokens)?; + if let Some(value) = value { + items.push(value); + } + } + } + } + Ok(Some(items)) + } + _ => Err(::aws_smithy_json::deserialize::error::DeserializeError::custom( + "expected start array or null", + )), + } +} diff --git a/sdk/connect/src/protocol_serde/shape_user_hierarchy_group_search_criteria.rs b/sdk/connect/src/protocol_serde/shape_user_hierarchy_group_search_criteria.rs new file mode 100644 index 000000000000..c34777dda7fd --- /dev/null +++ b/sdk/connect/src/protocol_serde/shape_user_hierarchy_group_search_criteria.rs @@ -0,0 +1,37 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. +pub fn ser_user_hierarchy_group_search_criteria( + object: &mut ::aws_smithy_json::serialize::JsonObjectWriter, + input: &crate::types::UserHierarchyGroupSearchCriteria, +) -> Result<(), ::aws_smithy_types::error::operation::SerializationError> { + if let Some(var_1) = &input.or_conditions { + let mut array_2 = object.key("OrConditions").start_array(); + for item_3 in var_1 { + { + #[allow(unused_mut)] + let mut object_4 = array_2.value().start_object(); + crate::protocol_serde::shape_user_hierarchy_group_search_criteria::ser_user_hierarchy_group_search_criteria(&mut object_4, item_3)?; + object_4.finish(); + } + } + array_2.finish(); + } + if let Some(var_5) = &input.and_conditions { + let mut array_6 = object.key("AndConditions").start_array(); + for item_7 in var_5 { + { + #[allow(unused_mut)] + let mut object_8 = array_6.value().start_object(); + crate::protocol_serde::shape_user_hierarchy_group_search_criteria::ser_user_hierarchy_group_search_criteria(&mut object_8, item_7)?; + object_8.finish(); + } + } + array_6.finish(); + } + if let Some(var_9) = &input.string_condition { + #[allow(unused_mut)] + let mut object_10 = object.key("StringCondition").start_object(); + crate::protocol_serde::shape_string_condition::ser_string_condition(&mut object_10, var_9)?; + object_10.finish(); + } + Ok(()) +} diff --git a/sdk/connect/src/protocol_serde/shape_user_hierarchy_group_search_filter.rs b/sdk/connect/src/protocol_serde/shape_user_hierarchy_group_search_filter.rs new file mode 100644 index 000000000000..014feab373d4 --- /dev/null +++ b/sdk/connect/src/protocol_serde/shape_user_hierarchy_group_search_filter.rs @@ -0,0 +1,13 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. +pub fn ser_user_hierarchy_group_search_filter( + object: &mut ::aws_smithy_json::serialize::JsonObjectWriter, + input: &crate::types::UserHierarchyGroupSearchFilter, +) -> Result<(), ::aws_smithy_types::error::operation::SerializationError> { + if let Some(var_1) = &input.attribute_filter { + #[allow(unused_mut)] + let mut object_2 = object.key("AttributeFilter").start_object(); + crate::protocol_serde::shape_control_plane_attribute_filter::ser_control_plane_attribute_filter(&mut object_2, var_1)?; + object_2.finish(); + } + Ok(()) +} diff --git a/sdk/connect/src/protocol_serde/shape_user_search_criteria.rs b/sdk/connect/src/protocol_serde/shape_user_search_criteria.rs index 272c4872a6ea..1f2f007afc3a 100644 --- a/sdk/connect/src/protocol_serde/shape_user_search_criteria.rs +++ b/sdk/connect/src/protocol_serde/shape_user_search_criteria.rs @@ -33,11 +33,17 @@ pub fn ser_user_search_criteria( crate::protocol_serde::shape_string_condition::ser_string_condition(&mut object_10, var_9)?; object_10.finish(); } - if let Some(var_11) = &input.hierarchy_group_condition { + if let Some(var_11) = &input.list_condition { #[allow(unused_mut)] - let mut object_12 = object.key("HierarchyGroupCondition").start_object(); - crate::protocol_serde::shape_hierarchy_group_condition::ser_hierarchy_group_condition(&mut object_12, var_11)?; + let mut object_12 = object.key("ListCondition").start_object(); + crate::protocol_serde::shape_list_condition::ser_list_condition(&mut object_12, var_11)?; object_12.finish(); } + if let Some(var_13) = &input.hierarchy_group_condition { + #[allow(unused_mut)] + let mut object_14 = object.key("HierarchyGroupCondition").start_object(); + crate::protocol_serde::shape_hierarchy_group_condition::ser_hierarchy_group_condition(&mut object_14, var_13)?; + object_14.finish(); + } Ok(()) } diff --git a/sdk/connect/src/types.rs b/sdk/connect/src/types.rs index 2e2461e90320..061a78241adb 100644 --- a/sdk/connect/src/types.rs +++ b/sdk/connect/src/types.rs @@ -297,10 +297,20 @@ pub use crate::types::_hierarchy_group_condition::HierarchyGroupCondition; pub use crate::types::_hierarchy_group_match_type::HierarchyGroupMatchType; +pub use crate::types::_list_condition::ListCondition; + +pub use crate::types::_condition::Condition; + +pub use crate::types::_number_condition::NumberCondition; + +pub use crate::types::_number_comparison_type::NumberComparisonType; + pub use crate::types::_string_condition::StringCondition; pub use crate::types::_string_comparison_type::StringComparisonType; +pub use crate::types::_target_list_type::TargetListType; + pub use crate::types::_user_search_filter::UserSearchFilter; pub use crate::types::_control_plane_user_attribute_filter::ControlPlaneUserAttributeFilter; @@ -311,6 +321,20 @@ pub use crate::types::_attribute_and_condition::AttributeAndCondition; pub use crate::types::_control_plane_tag_filter::ControlPlaneTagFilter; +pub use crate::types::_hierarchy_group::HierarchyGroup; + +pub use crate::types::_hierarchy_path::HierarchyPath; + +pub use crate::types::_hierarchy_group_summary::HierarchyGroupSummary; + +pub use crate::types::_user_hierarchy_group_search_criteria::UserHierarchyGroupSearchCriteria; + +pub use crate::types::_user_hierarchy_group_search_filter::UserHierarchyGroupSearchFilter; + +pub use crate::types::_control_plane_attribute_filter::ControlPlaneAttributeFilter; + +pub use crate::types::_common_attribute_and_condition::CommonAttributeAndCondition; + pub use crate::types::_security_profile_search_summary::SecurityProfileSearchSummary; pub use crate::types::_security_profiles_search_filter::SecurityProfilesSearchFilter; @@ -419,6 +443,14 @@ pub use crate::types::_phone_number_type::PhoneNumberType; pub use crate::types::_phone_number_country_code::PhoneNumberCountryCode; +pub use crate::types::_agent_status::AgentStatus; + +pub use crate::types::_agent_status_type::AgentStatusType; + +pub use crate::types::_agent_status_search_criteria::AgentStatusSearchCriteria; + +pub use crate::types::_agent_status_search_filter::AgentStatusSearchFilter; + pub use crate::types::_monitor_capability::MonitorCapability; pub use crate::types::_view_version_summary::ViewVersionSummary; @@ -427,8 +459,6 @@ pub use crate::types::_view_summary::ViewSummary; pub use crate::types::_user_summary::UserSummary; -pub use crate::types::_hierarchy_group_summary::HierarchyGroupSummary; - pub use crate::types::_use_case::UseCase; pub use crate::types::_use_case_type::UseCaseType; @@ -579,8 +609,6 @@ pub use crate::types::_analytics_data_association_result::AnalyticsDataAssociati pub use crate::types::_agent_status_summary::AgentStatusSummary; -pub use crate::types::_agent_status_type::AgentStatusType; - pub use crate::types::_metric_result_v2::MetricResultV2; pub use crate::types::_metric_data_v2::MetricDataV2; @@ -667,10 +695,6 @@ pub use crate::types::_hierarchy_structure::HierarchyStructure; pub use crate::types::_hierarchy_level::HierarchyLevel; -pub use crate::types::_hierarchy_group::HierarchyGroup; - -pub use crate::types::_hierarchy_path::HierarchyPath; - pub use crate::types::_user::User; pub use crate::types::_traffic_distribution_group::TrafficDistributionGroup; @@ -751,8 +775,6 @@ pub use crate::types::_queue_info::QueueInfo; pub use crate::types::_authentication_profile::AuthenticationProfile; -pub use crate::types::_agent_status::AgentStatus; - pub use crate::types::_participant_token_credentials::ParticipantTokenCredentials; pub use crate::types::_participant_details_to_add::ParticipantDetailsToAdd; @@ -797,6 +819,10 @@ mod _agent_status; mod _agent_status_reference; +mod _agent_status_search_criteria; + +mod _agent_status_search_filter; + mod _agent_status_state; mod _agent_status_summary; @@ -863,8 +889,12 @@ mod _chat_streaming_configuration; mod _claimed_phone_number_summary; +mod _common_attribute_and_condition; + mod _comparison; +mod _condition; + mod _connection_data; mod _contact; @@ -911,6 +941,8 @@ mod _contact_search_summary_queue_info; mod _contact_state; +mod _control_plane_attribute_filter; + mod _control_plane_tag_filter; mod _control_plane_user_attribute_filter; @@ -1149,6 +1181,8 @@ mod _lex_v2_bot; mod _lex_version; +mod _list_condition; + mod _list_flow_association_resource_type; mod _list_phone_numbers_summary; @@ -1185,6 +1219,10 @@ mod _notification_delivery_type; mod _notification_recipient_type; +mod _number_comparison_type; + +mod _number_condition; + mod _number_reference; mod _numeric_question_property_automation_label; @@ -1439,6 +1477,8 @@ mod _tag_search_condition; mod _tag_set; +mod _target_list_type; + mod _task_action_definition; mod _task_template_constraints; @@ -1499,6 +1539,10 @@ mod _user_data; mod _user_data_filters; +mod _user_hierarchy_group_search_criteria; + +mod _user_hierarchy_group_search_filter; + mod _user_identity_info; mod _user_identity_info_lite; diff --git a/sdk/connect/src/types/_agent_status_search_criteria.rs b/sdk/connect/src/types/_agent_status_search_criteria.rs new file mode 100644 index 000000000000..4767fe9f6296 --- /dev/null +++ b/sdk/connect/src/types/_agent_status_search_criteria.rs @@ -0,0 +1,130 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. + +///

The search criteria to be used to return agent statuses.

+#[non_exhaustive] +#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)] +pub struct AgentStatusSearchCriteria { + ///

A list of conditions which would be applied together with an OR condition.

+ pub or_conditions: ::std::option::Option<::std::vec::Vec>, + ///

A leaf node condition which can be used to specify a string condition.

+ ///

The currently supported values for FieldName are name,

 description, state, type, displayOrder,
 and resourceID.

+ ///
+ pub and_conditions: ::std::option::Option<::std::vec::Vec>, + ///

A leaf node condition which can be used to specify a string condition.

+ ///

The currently supported values for FieldName are name,

 description, state, type, displayOrder,
 and resourceID.

+ ///
+ pub string_condition: ::std::option::Option, +} +impl AgentStatusSearchCriteria { + ///

A list of conditions which would be applied together with an OR condition.

+ /// + /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.or_conditions.is_none()`. + pub fn or_conditions(&self) -> &[crate::types::AgentStatusSearchCriteria] { + self.or_conditions.as_deref().unwrap_or_default() + } + ///

A leaf node condition which can be used to specify a string condition.

+ ///

The currently supported values for FieldName are name,

 description, state, type, displayOrder,
 and resourceID.

+ ///
+ /// + /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.and_conditions.is_none()`. + pub fn and_conditions(&self) -> &[crate::types::AgentStatusSearchCriteria] { + self.and_conditions.as_deref().unwrap_or_default() + } + ///

A leaf node condition which can be used to specify a string condition.

+ ///

The currently supported values for FieldName are name,

 description, state, type, displayOrder,
 and resourceID.

+ ///
+ pub fn string_condition(&self) -> ::std::option::Option<&crate::types::StringCondition> { + self.string_condition.as_ref() + } +} +impl AgentStatusSearchCriteria { + /// Creates a new builder-style object to manufacture [`AgentStatusSearchCriteria`](crate::types::AgentStatusSearchCriteria). + pub fn builder() -> crate::types::builders::AgentStatusSearchCriteriaBuilder { + crate::types::builders::AgentStatusSearchCriteriaBuilder::default() + } +} + +/// A builder for [`AgentStatusSearchCriteria`](crate::types::AgentStatusSearchCriteria). +#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)] +#[non_exhaustive] +pub struct AgentStatusSearchCriteriaBuilder { + pub(crate) or_conditions: ::std::option::Option<::std::vec::Vec>, + pub(crate) and_conditions: ::std::option::Option<::std::vec::Vec>, + pub(crate) string_condition: ::std::option::Option, +} +impl AgentStatusSearchCriteriaBuilder { + /// Appends an item to `or_conditions`. + /// + /// To override the contents of this collection use [`set_or_conditions`](Self::set_or_conditions). + /// + ///

A list of conditions which would be applied together with an OR condition.

+ pub fn or_conditions(mut self, input: crate::types::AgentStatusSearchCriteria) -> Self { + let mut v = self.or_conditions.unwrap_or_default(); + v.push(input); + self.or_conditions = ::std::option::Option::Some(v); + self + } + ///

A list of conditions which would be applied together with an OR condition.

+ pub fn set_or_conditions(mut self, input: ::std::option::Option<::std::vec::Vec>) -> Self { + self.or_conditions = input; + self + } + ///

A list of conditions which would be applied together with an OR condition.

+ pub fn get_or_conditions(&self) -> &::std::option::Option<::std::vec::Vec> { + &self.or_conditions + } + /// Appends an item to `and_conditions`. + /// + /// To override the contents of this collection use [`set_and_conditions`](Self::set_and_conditions). + /// + ///

A leaf node condition which can be used to specify a string condition.

+ ///

The currently supported values for FieldName are name,

 description, state, type, displayOrder,
 and resourceID.

+ ///
+ pub fn and_conditions(mut self, input: crate::types::AgentStatusSearchCriteria) -> Self { + let mut v = self.and_conditions.unwrap_or_default(); + v.push(input); + self.and_conditions = ::std::option::Option::Some(v); + self + } + ///

A leaf node condition which can be used to specify a string condition.

+ ///

The currently supported values for FieldName are name,

 description, state, type, displayOrder,
 and resourceID.

+ ///
+ pub fn set_and_conditions(mut self, input: ::std::option::Option<::std::vec::Vec>) -> Self { + self.and_conditions = input; + self + } + ///

A leaf node condition which can be used to specify a string condition.

+ ///

The currently supported values for FieldName are name,

 description, state, type, displayOrder,
 and resourceID.

+ ///
+ pub fn get_and_conditions(&self) -> &::std::option::Option<::std::vec::Vec> { + &self.and_conditions + } + ///

A leaf node condition which can be used to specify a string condition.

+ ///

The currently supported values for FieldName are name,

 description, state, type, displayOrder,
 and resourceID.

+ ///
+ pub fn string_condition(mut self, input: crate::types::StringCondition) -> Self { + self.string_condition = ::std::option::Option::Some(input); + self + } + ///

A leaf node condition which can be used to specify a string condition.

+ ///

The currently supported values for FieldName are name,

 description, state, type, displayOrder,
 and resourceID.

+ ///
+ pub fn set_string_condition(mut self, input: ::std::option::Option) -> Self { + self.string_condition = input; + self + } + ///

A leaf node condition which can be used to specify a string condition.

+ ///

The currently supported values for FieldName are name,

 description, state, type, displayOrder,
 and resourceID.

+ ///
+ pub fn get_string_condition(&self) -> &::std::option::Option { + &self.string_condition + } + /// Consumes the builder and constructs a [`AgentStatusSearchCriteria`](crate::types::AgentStatusSearchCriteria). + pub fn build(self) -> crate::types::AgentStatusSearchCriteria { + crate::types::AgentStatusSearchCriteria { + or_conditions: self.or_conditions, + and_conditions: self.and_conditions, + string_condition: self.string_condition, + } + } +} diff --git a/sdk/connect/src/types/_agent_status_search_filter.rs b/sdk/connect/src/types/_agent_status_search_filter.rs new file mode 100644 index 000000000000..f4c9c1bab463 --- /dev/null +++ b/sdk/connect/src/types/_agent_status_search_filter.rs @@ -0,0 +1,80 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. + +///

Filters to be applied to search results.

+#[non_exhaustive] +#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)] +pub struct AgentStatusSearchFilter { + ///

An object that can be used to specify Tag conditions inside the SearchFilter. This accepts an OR of AND (List of List) input where:

+ ///
    + ///
  • + ///

    The top level list specifies conditions that need to be applied with OR operator.

  • + ///
  • + ///

    The inner list specifies conditions that need to be applied with AND operator.

  • + ///
+ pub attribute_filter: ::std::option::Option, +} +impl AgentStatusSearchFilter { + ///

An object that can be used to specify Tag conditions inside the SearchFilter. This accepts an OR of AND (List of List) input where:

+ ///
    + ///
  • + ///

    The top level list specifies conditions that need to be applied with OR operator.

  • + ///
  • + ///

    The inner list specifies conditions that need to be applied with AND operator.

  • + ///
+ pub fn attribute_filter(&self) -> ::std::option::Option<&crate::types::ControlPlaneAttributeFilter> { + self.attribute_filter.as_ref() + } +} +impl AgentStatusSearchFilter { + /// Creates a new builder-style object to manufacture [`AgentStatusSearchFilter`](crate::types::AgentStatusSearchFilter). + pub fn builder() -> crate::types::builders::AgentStatusSearchFilterBuilder { + crate::types::builders::AgentStatusSearchFilterBuilder::default() + } +} + +/// A builder for [`AgentStatusSearchFilter`](crate::types::AgentStatusSearchFilter). +#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)] +#[non_exhaustive] +pub struct AgentStatusSearchFilterBuilder { + pub(crate) attribute_filter: ::std::option::Option, +} +impl AgentStatusSearchFilterBuilder { + ///

An object that can be used to specify Tag conditions inside the SearchFilter. This accepts an OR of AND (List of List) input where:

+ ///
    + ///
  • + ///

    The top level list specifies conditions that need to be applied with OR operator.

  • + ///
  • + ///

    The inner list specifies conditions that need to be applied with AND operator.

  • + ///
+ pub fn attribute_filter(mut self, input: crate::types::ControlPlaneAttributeFilter) -> Self { + self.attribute_filter = ::std::option::Option::Some(input); + self + } + ///

An object that can be used to specify Tag conditions inside the SearchFilter. This accepts an OR of AND (List of List) input where:

+ ///
    + ///
  • + ///

    The top level list specifies conditions that need to be applied with OR operator.

  • + ///
  • + ///

    The inner list specifies conditions that need to be applied with AND operator.

  • + ///
+ pub fn set_attribute_filter(mut self, input: ::std::option::Option) -> Self { + self.attribute_filter = input; + self + } + ///

An object that can be used to specify Tag conditions inside the SearchFilter. This accepts an OR of AND (List of List) input where:

+ ///
    + ///
  • + ///

    The top level list specifies conditions that need to be applied with OR operator.

  • + ///
  • + ///

    The inner list specifies conditions that need to be applied with AND operator.

  • + ///
+ pub fn get_attribute_filter(&self) -> &::std::option::Option { + &self.attribute_filter + } + /// Consumes the builder and constructs a [`AgentStatusSearchFilter`](crate::types::AgentStatusSearchFilter). + pub fn build(self) -> crate::types::AgentStatusSearchFilter { + crate::types::AgentStatusSearchFilter { + attribute_filter: self.attribute_filter, + } + } +} diff --git a/sdk/connect/src/types/_common_attribute_and_condition.rs b/sdk/connect/src/types/_common_attribute_and_condition.rs new file mode 100644 index 000000000000..fa91fa271ae7 --- /dev/null +++ b/sdk/connect/src/types/_common_attribute_and_condition.rs @@ -0,0 +1,58 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. + +///

A list of conditions which would be applied together with an AND condition.

+#[non_exhaustive] +#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)] +pub struct CommonAttributeAndCondition { + ///

A leaf node condition which can be used to specify a tag condition.

+ pub tag_conditions: ::std::option::Option<::std::vec::Vec>, +} +impl CommonAttributeAndCondition { + ///

A leaf node condition which can be used to specify a tag condition.

+ /// + /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.tag_conditions.is_none()`. + pub fn tag_conditions(&self) -> &[crate::types::TagCondition] { + self.tag_conditions.as_deref().unwrap_or_default() + } +} +impl CommonAttributeAndCondition { + /// Creates a new builder-style object to manufacture [`CommonAttributeAndCondition`](crate::types::CommonAttributeAndCondition). + pub fn builder() -> crate::types::builders::CommonAttributeAndConditionBuilder { + crate::types::builders::CommonAttributeAndConditionBuilder::default() + } +} + +/// A builder for [`CommonAttributeAndCondition`](crate::types::CommonAttributeAndCondition). +#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)] +#[non_exhaustive] +pub struct CommonAttributeAndConditionBuilder { + pub(crate) tag_conditions: ::std::option::Option<::std::vec::Vec>, +} +impl CommonAttributeAndConditionBuilder { + /// Appends an item to `tag_conditions`. + /// + /// To override the contents of this collection use [`set_tag_conditions`](Self::set_tag_conditions). + /// + ///

A leaf node condition which can be used to specify a tag condition.

+ pub fn tag_conditions(mut self, input: crate::types::TagCondition) -> Self { + let mut v = self.tag_conditions.unwrap_or_default(); + v.push(input); + self.tag_conditions = ::std::option::Option::Some(v); + self + } + ///

A leaf node condition which can be used to specify a tag condition.

+ pub fn set_tag_conditions(mut self, input: ::std::option::Option<::std::vec::Vec>) -> Self { + self.tag_conditions = input; + self + } + ///

A leaf node condition which can be used to specify a tag condition.

+ pub fn get_tag_conditions(&self) -> &::std::option::Option<::std::vec::Vec> { + &self.tag_conditions + } + /// Consumes the builder and constructs a [`CommonAttributeAndCondition`](crate::types::CommonAttributeAndCondition). + pub fn build(self) -> crate::types::CommonAttributeAndCondition { + crate::types::CommonAttributeAndCondition { + tag_conditions: self.tag_conditions, + } + } +} diff --git a/sdk/connect/src/types/_condition.rs b/sdk/connect/src/types/_condition.rs new file mode 100644 index 000000000000..50d3e7af01fa --- /dev/null +++ b/sdk/connect/src/types/_condition.rs @@ -0,0 +1,82 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. + +///

A leaf node condition which can be used to specify a ProficiencyName, ProficiencyValue and ProficiencyLimit.

+#[non_exhaustive] +#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)] +pub struct Condition { + ///

A leaf node condition which can be used to specify a string condition.

+ ///

The currently supported values for FieldName are name and
 value.

+ ///
+ pub string_condition: ::std::option::Option, + ///

A leaf node condition which can be used to specify a numeric condition.

+ pub number_condition: ::std::option::Option, +} +impl Condition { + ///

A leaf node condition which can be used to specify a string condition.

+ ///

The currently supported values for FieldName are name and
 value.

+ ///
+ pub fn string_condition(&self) -> ::std::option::Option<&crate::types::StringCondition> { + self.string_condition.as_ref() + } + ///

A leaf node condition which can be used to specify a numeric condition.

+ pub fn number_condition(&self) -> ::std::option::Option<&crate::types::NumberCondition> { + self.number_condition.as_ref() + } +} +impl Condition { + /// Creates a new builder-style object to manufacture [`Condition`](crate::types::Condition). + pub fn builder() -> crate::types::builders::ConditionBuilder { + crate::types::builders::ConditionBuilder::default() + } +} + +/// A builder for [`Condition`](crate::types::Condition). +#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)] +#[non_exhaustive] +pub struct ConditionBuilder { + pub(crate) string_condition: ::std::option::Option, + pub(crate) number_condition: ::std::option::Option, +} +impl ConditionBuilder { + ///

A leaf node condition which can be used to specify a string condition.

+ ///

The currently supported values for FieldName are name and
 value.

+ ///
+ pub fn string_condition(mut self, input: crate::types::StringCondition) -> Self { + self.string_condition = ::std::option::Option::Some(input); + self + } + ///

A leaf node condition which can be used to specify a string condition.

+ ///

The currently supported values for FieldName are name and
 value.

+ ///
+ pub fn set_string_condition(mut self, input: ::std::option::Option) -> Self { + self.string_condition = input; + self + } + ///

A leaf node condition which can be used to specify a string condition.

+ ///

The currently supported values for FieldName are name and
 value.

+ ///
+ pub fn get_string_condition(&self) -> &::std::option::Option { + &self.string_condition + } + ///

A leaf node condition which can be used to specify a numeric condition.

+ pub fn number_condition(mut self, input: crate::types::NumberCondition) -> Self { + self.number_condition = ::std::option::Option::Some(input); + self + } + ///

A leaf node condition which can be used to specify a numeric condition.

+ pub fn set_number_condition(mut self, input: ::std::option::Option) -> Self { + self.number_condition = input; + self + } + ///

A leaf node condition which can be used to specify a numeric condition.

+ pub fn get_number_condition(&self) -> &::std::option::Option { + &self.number_condition + } + /// Consumes the builder and constructs a [`Condition`](crate::types::Condition). + pub fn build(self) -> crate::types::Condition { + crate::types::Condition { + string_condition: self.string_condition, + number_condition: self.number_condition, + } + } +} diff --git a/sdk/connect/src/types/_contact_flow_module_search_criteria.rs b/sdk/connect/src/types/_contact_flow_module_search_criteria.rs index 29c38600db2b..cc7af07e7502 100644 --- a/sdk/connect/src/types/_contact_flow_module_search_criteria.rs +++ b/sdk/connect/src/types/_contact_flow_module_search_criteria.rs @@ -8,9 +8,7 @@ pub struct ContactFlowModuleSearchCriteria { pub or_conditions: ::std::option::Option<::std::vec::Vec>, ///

A list of conditions which would be applied together with an AND condition.

pub and_conditions: ::std::option::Option<::std::vec::Vec>, - ///

A leaf node condition which can be used to specify a string condition.

- ///

The currently supported values for FieldName are name and description.

- ///
+ ///

A leaf node condition which can be used to specify a string condition.

pub string_condition: ::std::option::Option, } impl ContactFlowModuleSearchCriteria { @@ -26,9 +24,7 @@ impl ContactFlowModuleSearchCriteria { pub fn and_conditions(&self) -> &[crate::types::ContactFlowModuleSearchCriteria] { self.and_conditions.as_deref().unwrap_or_default() } - ///

A leaf node condition which can be used to specify a string condition.

- ///

The currently supported values for FieldName are name and description.

- ///
+ ///

A leaf node condition which can be used to specify a string condition.

pub fn string_condition(&self) -> ::std::option::Option<&crate::types::StringCondition> { self.string_condition.as_ref() } @@ -89,23 +85,17 @@ impl ContactFlowModuleSearchCriteriaBuilder { pub fn get_and_conditions(&self) -> &::std::option::Option<::std::vec::Vec> { &self.and_conditions } - ///

A leaf node condition which can be used to specify a string condition.

- ///

The currently supported values for FieldName are name and description.

- ///
+ ///

A leaf node condition which can be used to specify a string condition.

pub fn string_condition(mut self, input: crate::types::StringCondition) -> Self { self.string_condition = ::std::option::Option::Some(input); self } - ///

A leaf node condition which can be used to specify a string condition.

- ///

The currently supported values for FieldName are name and description.

- ///
+ ///

A leaf node condition which can be used to specify a string condition.

pub fn set_string_condition(mut self, input: ::std::option::Option) -> Self { self.string_condition = input; self } - ///

A leaf node condition which can be used to specify a string condition.

- ///

The currently supported values for FieldName are name and description.

- ///
+ ///

A leaf node condition which can be used to specify a string condition.

pub fn get_string_condition(&self) -> &::std::option::Option { &self.string_condition } diff --git a/sdk/connect/src/types/_contact_flow_search_criteria.rs b/sdk/connect/src/types/_contact_flow_search_criteria.rs index c0b7ae2636ba..348a3bc1ff5a 100644 --- a/sdk/connect/src/types/_contact_flow_search_criteria.rs +++ b/sdk/connect/src/types/_contact_flow_search_criteria.rs @@ -8,9 +8,7 @@ pub struct ContactFlowSearchCriteria { pub or_conditions: ::std::option::Option<::std::vec::Vec>, ///

A list of conditions which would be applied together with an AND condition.

pub and_conditions: ::std::option::Option<::std::vec::Vec>, - ///

A leaf node condition which can be used to specify a string condition.

- ///

The currently supported values for FieldName are name and description.

- ///
+ ///

A leaf node condition which can be used to specify a string condition.

pub string_condition: ::std::option::Option, ///

The type of flow.

pub type_condition: ::std::option::Option, @@ -32,9 +30,7 @@ impl ContactFlowSearchCriteria { pub fn and_conditions(&self) -> &[crate::types::ContactFlowSearchCriteria] { self.and_conditions.as_deref().unwrap_or_default() } - ///

A leaf node condition which can be used to specify a string condition.

- ///

The currently supported values for FieldName are name and description.

- ///
+ ///

A leaf node condition which can be used to specify a string condition.

pub fn string_condition(&self) -> ::std::option::Option<&crate::types::StringCondition> { self.string_condition.as_ref() } @@ -110,23 +106,17 @@ impl ContactFlowSearchCriteriaBuilder { pub fn get_and_conditions(&self) -> &::std::option::Option<::std::vec::Vec> { &self.and_conditions } - ///

A leaf node condition which can be used to specify a string condition.

- ///

The currently supported values for FieldName are name and description.

- ///
+ ///

A leaf node condition which can be used to specify a string condition.

pub fn string_condition(mut self, input: crate::types::StringCondition) -> Self { self.string_condition = ::std::option::Option::Some(input); self } - ///

A leaf node condition which can be used to specify a string condition.

- ///

The currently supported values for FieldName are name and description.

- ///
+ ///

A leaf node condition which can be used to specify a string condition.

pub fn set_string_condition(mut self, input: ::std::option::Option) -> Self { self.string_condition = input; self } - ///

A leaf node condition which can be used to specify a string condition.

- ///

The currently supported values for FieldName are name and description.

- ///
+ ///

A leaf node condition which can be used to specify a string condition.

pub fn get_string_condition(&self) -> &::std::option::Option { &self.string_condition } diff --git a/sdk/connect/src/types/_control_plane_attribute_filter.rs b/sdk/connect/src/types/_control_plane_attribute_filter.rs new file mode 100644 index 000000000000..d33568cafeee --- /dev/null +++ b/sdk/connect/src/types/_control_plane_attribute_filter.rs @@ -0,0 +1,108 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. + +///

An object that can be used to specify Tag conditions inside the SearchFilter. This accepts an OR or AND (List of List) input where:

+///
    +///
  • +///

    The top level list specifies conditions that need to be applied with OR operator.

  • +///
  • +///

    The inner list specifies conditions that need to be applied with AND operator.

  • +///
+#[non_exhaustive] +#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)] +pub struct ControlPlaneAttributeFilter { + ///

A list of conditions which would be applied together with an OR condition.

+ pub or_conditions: ::std::option::Option<::std::vec::Vec>, + ///

A list of conditions which would be applied together with an AND condition.

+ pub and_condition: ::std::option::Option, + ///

A leaf node condition which can be used to specify a tag condition, for example, HAVE BPO = 123.

+ pub tag_condition: ::std::option::Option, +} +impl ControlPlaneAttributeFilter { + ///

A list of conditions which would be applied together with an OR condition.

+ /// + /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.or_conditions.is_none()`. + pub fn or_conditions(&self) -> &[crate::types::CommonAttributeAndCondition] { + self.or_conditions.as_deref().unwrap_or_default() + } + ///

A list of conditions which would be applied together with an AND condition.

+ pub fn and_condition(&self) -> ::std::option::Option<&crate::types::CommonAttributeAndCondition> { + self.and_condition.as_ref() + } + ///

A leaf node condition which can be used to specify a tag condition, for example, HAVE BPO = 123.

+ pub fn tag_condition(&self) -> ::std::option::Option<&crate::types::TagCondition> { + self.tag_condition.as_ref() + } +} +impl ControlPlaneAttributeFilter { + /// Creates a new builder-style object to manufacture [`ControlPlaneAttributeFilter`](crate::types::ControlPlaneAttributeFilter). + pub fn builder() -> crate::types::builders::ControlPlaneAttributeFilterBuilder { + crate::types::builders::ControlPlaneAttributeFilterBuilder::default() + } +} + +/// A builder for [`ControlPlaneAttributeFilter`](crate::types::ControlPlaneAttributeFilter). +#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)] +#[non_exhaustive] +pub struct ControlPlaneAttributeFilterBuilder { + pub(crate) or_conditions: ::std::option::Option<::std::vec::Vec>, + pub(crate) and_condition: ::std::option::Option, + pub(crate) tag_condition: ::std::option::Option, +} +impl ControlPlaneAttributeFilterBuilder { + /// Appends an item to `or_conditions`. + /// + /// To override the contents of this collection use [`set_or_conditions`](Self::set_or_conditions). + /// + ///

A list of conditions which would be applied together with an OR condition.

+ pub fn or_conditions(mut self, input: crate::types::CommonAttributeAndCondition) -> Self { + let mut v = self.or_conditions.unwrap_or_default(); + v.push(input); + self.or_conditions = ::std::option::Option::Some(v); + self + } + ///

A list of conditions which would be applied together with an OR condition.

+ pub fn set_or_conditions(mut self, input: ::std::option::Option<::std::vec::Vec>) -> Self { + self.or_conditions = input; + self + } + ///

A list of conditions which would be applied together with an OR condition.

+ pub fn get_or_conditions(&self) -> &::std::option::Option<::std::vec::Vec> { + &self.or_conditions + } + ///

A list of conditions which would be applied together with an AND condition.

+ pub fn and_condition(mut self, input: crate::types::CommonAttributeAndCondition) -> Self { + self.and_condition = ::std::option::Option::Some(input); + self + } + ///

A list of conditions which would be applied together with an AND condition.

+ pub fn set_and_condition(mut self, input: ::std::option::Option) -> Self { + self.and_condition = input; + self + } + ///

A list of conditions which would be applied together with an AND condition.

+ pub fn get_and_condition(&self) -> &::std::option::Option { + &self.and_condition + } + ///

A leaf node condition which can be used to specify a tag condition, for example, HAVE BPO = 123.

+ pub fn tag_condition(mut self, input: crate::types::TagCondition) -> Self { + self.tag_condition = ::std::option::Option::Some(input); + self + } + ///

A leaf node condition which can be used to specify a tag condition, for example, HAVE BPO = 123.

+ pub fn set_tag_condition(mut self, input: ::std::option::Option) -> Self { + self.tag_condition = input; + self + } + ///

A leaf node condition which can be used to specify a tag condition, for example, HAVE BPO = 123.

+ pub fn get_tag_condition(&self) -> &::std::option::Option { + &self.tag_condition + } + /// Consumes the builder and constructs a [`ControlPlaneAttributeFilter`](crate::types::ControlPlaneAttributeFilter). + pub fn build(self) -> crate::types::ControlPlaneAttributeFilter { + crate::types::ControlPlaneAttributeFilter { + or_conditions: self.or_conditions, + and_condition: self.and_condition, + tag_condition: self.tag_condition, + } + } +} diff --git a/sdk/connect/src/types/_list_condition.rs b/sdk/connect/src/types/_list_condition.rs new file mode 100644 index 000000000000..8bb0bb595a2f --- /dev/null +++ b/sdk/connect/src/types/_list_condition.rs @@ -0,0 +1,80 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. + +///

A leaf node condition which can be used to specify a List condition to search users with attributes included in Lists like Proficiencies.

+#[non_exhaustive] +#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)] +pub struct ListCondition { + ///

The type of target list that will be used to filter the users.

+ pub target_list_type: ::std::option::Option, + ///

A list of Condition objects which would be applied together with an AND condition.

+ pub conditions: ::std::option::Option<::std::vec::Vec>, +} +impl ListCondition { + ///

The type of target list that will be used to filter the users.

+ pub fn target_list_type(&self) -> ::std::option::Option<&crate::types::TargetListType> { + self.target_list_type.as_ref() + } + ///

A list of Condition objects which would be applied together with an AND condition.

+ /// + /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.conditions.is_none()`. + pub fn conditions(&self) -> &[crate::types::Condition] { + self.conditions.as_deref().unwrap_or_default() + } +} +impl ListCondition { + /// Creates a new builder-style object to manufacture [`ListCondition`](crate::types::ListCondition). + pub fn builder() -> crate::types::builders::ListConditionBuilder { + crate::types::builders::ListConditionBuilder::default() + } +} + +/// A builder for [`ListCondition`](crate::types::ListCondition). +#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)] +#[non_exhaustive] +pub struct ListConditionBuilder { + pub(crate) target_list_type: ::std::option::Option, + pub(crate) conditions: ::std::option::Option<::std::vec::Vec>, +} +impl ListConditionBuilder { + ///

The type of target list that will be used to filter the users.

+ pub fn target_list_type(mut self, input: crate::types::TargetListType) -> Self { + self.target_list_type = ::std::option::Option::Some(input); + self + } + ///

The type of target list that will be used to filter the users.

+ pub fn set_target_list_type(mut self, input: ::std::option::Option) -> Self { + self.target_list_type = input; + self + } + ///

The type of target list that will be used to filter the users.

+ pub fn get_target_list_type(&self) -> &::std::option::Option { + &self.target_list_type + } + /// Appends an item to `conditions`. + /// + /// To override the contents of this collection use [`set_conditions`](Self::set_conditions). + /// + ///

A list of Condition objects which would be applied together with an AND condition.

+ pub fn conditions(mut self, input: crate::types::Condition) -> Self { + let mut v = self.conditions.unwrap_or_default(); + v.push(input); + self.conditions = ::std::option::Option::Some(v); + self + } + ///

A list of Condition objects which would be applied together with an AND condition.

+ pub fn set_conditions(mut self, input: ::std::option::Option<::std::vec::Vec>) -> Self { + self.conditions = input; + self + } + ///

A list of Condition objects which would be applied together with an AND condition.

+ pub fn get_conditions(&self) -> &::std::option::Option<::std::vec::Vec> { + &self.conditions + } + /// Consumes the builder and constructs a [`ListCondition`](crate::types::ListCondition). + pub fn build(self) -> crate::types::ListCondition { + crate::types::ListCondition { + target_list_type: self.target_list_type, + conditions: self.conditions, + } + } +} diff --git a/sdk/connect/src/types/_number_comparison_type.rs b/sdk/connect/src/types/_number_comparison_type.rs new file mode 100644 index 000000000000..6fb100d9e0fa --- /dev/null +++ b/sdk/connect/src/types/_number_comparison_type.rs @@ -0,0 +1,137 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. + +/// When writing a match expression against `NumberComparisonType`, it is important to ensure +/// your code is forward-compatible. That is, if a match arm handles a case for a +/// feature that is supported by the service but has not been represented as an enum +/// variant in a current version of SDK, your code should continue to work when you +/// upgrade SDK to a future version in which the enum does include a variant for that +/// feature. +/// +/// Here is an example of how you can make a match expression forward-compatible: +/// +/// ```text +/// # let numbercomparisontype = unimplemented!(); +/// match numbercomparisontype { +/// NumberComparisonType::Equal => { /* ... */ }, +/// NumberComparisonType::Greater => { /* ... */ }, +/// NumberComparisonType::GreaterOrEqual => { /* ... */ }, +/// NumberComparisonType::Lesser => { /* ... */ }, +/// NumberComparisonType::LesserOrEqual => { /* ... */ }, +/// NumberComparisonType::NotEqual => { /* ... */ }, +/// NumberComparisonType::Range => { /* ... */ }, +/// other @ _ if other.as_str() == "NewFeature" => { /* handles a case for `NewFeature` */ }, +/// _ => { /* ... */ }, +/// } +/// ``` +/// The above code demonstrates that when `numbercomparisontype` represents +/// `NewFeature`, the execution path will lead to the second last match arm, +/// even though the enum does not contain a variant `NumberComparisonType::NewFeature` +/// in the current version of SDK. The reason is that the variable `other`, +/// created by the `@` operator, is bound to +/// `NumberComparisonType::Unknown(UnknownVariantValue("NewFeature".to_owned()))` +/// and calling `as_str` on it yields `"NewFeature"`. +/// This match expression is forward-compatible when executed with a newer +/// version of SDK where the variant `NumberComparisonType::NewFeature` is defined. +/// Specifically, when `numbercomparisontype` represents `NewFeature`, +/// the execution path will hit the second last match arm as before by virtue of +/// calling `as_str` on `NumberComparisonType::NewFeature` also yielding `"NewFeature"`. +/// +/// Explicitly matching on the `Unknown` variant should +/// be avoided for two reasons: +/// - The inner data `UnknownVariantValue` is opaque, and no further information can be extracted. +/// - It might inadvertently shadow other intended match arms. +#[allow(missing_docs)] // documentation missing in model +#[non_exhaustive] +#[derive( + ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::Ord, ::std::cmp::PartialEq, ::std::cmp::PartialOrd, ::std::fmt::Debug, ::std::hash::Hash, +)] +pub enum NumberComparisonType { + #[allow(missing_docs)] // documentation missing in model + Equal, + #[allow(missing_docs)] // documentation missing in model + Greater, + #[allow(missing_docs)] // documentation missing in model + GreaterOrEqual, + #[allow(missing_docs)] // documentation missing in model + Lesser, + #[allow(missing_docs)] // documentation missing in model + LesserOrEqual, + #[allow(missing_docs)] // documentation missing in model + NotEqual, + #[allow(missing_docs)] // documentation missing in model + Range, + /// `Unknown` contains new variants that have been added since this code was generated. + #[deprecated(note = "Don't directly match on `Unknown`. See the docs on this enum for the correct way to handle unknown variants.")] + Unknown(crate::primitives::sealed_enum_unknown::UnknownVariantValue), +} +impl ::std::convert::From<&str> for NumberComparisonType { + fn from(s: &str) -> Self { + match s { + "EQUAL" => NumberComparisonType::Equal, + "GREATER" => NumberComparisonType::Greater, + "GREATER_OR_EQUAL" => NumberComparisonType::GreaterOrEqual, + "LESSER" => NumberComparisonType::Lesser, + "LESSER_OR_EQUAL" => NumberComparisonType::LesserOrEqual, + "NOT_EQUAL" => NumberComparisonType::NotEqual, + "RANGE" => NumberComparisonType::Range, + other => NumberComparisonType::Unknown(crate::primitives::sealed_enum_unknown::UnknownVariantValue(other.to_owned())), + } + } +} +impl ::std::str::FromStr for NumberComparisonType { + type Err = ::std::convert::Infallible; + + fn from_str(s: &str) -> ::std::result::Result::Err> { + ::std::result::Result::Ok(NumberComparisonType::from(s)) + } +} +impl NumberComparisonType { + /// Returns the `&str` value of the enum member. + pub fn as_str(&self) -> &str { + match self { + NumberComparisonType::Equal => "EQUAL", + NumberComparisonType::Greater => "GREATER", + NumberComparisonType::GreaterOrEqual => "GREATER_OR_EQUAL", + NumberComparisonType::Lesser => "LESSER", + NumberComparisonType::LesserOrEqual => "LESSER_OR_EQUAL", + NumberComparisonType::NotEqual => "NOT_EQUAL", + NumberComparisonType::Range => "RANGE", + NumberComparisonType::Unknown(value) => value.as_str(), + } + } + /// Returns all the `&str` representations of the enum members. + pub const fn values() -> &'static [&'static str] { + &["EQUAL", "GREATER", "GREATER_OR_EQUAL", "LESSER", "LESSER_OR_EQUAL", "NOT_EQUAL", "RANGE"] + } +} +impl ::std::convert::AsRef for NumberComparisonType { + fn as_ref(&self) -> &str { + self.as_str() + } +} +impl NumberComparisonType { + /// Parses the enum value while disallowing unknown variants. + /// + /// Unknown variants will result in an error. + pub fn try_parse(value: &str) -> ::std::result::Result { + match Self::from(value) { + #[allow(deprecated)] + Self::Unknown(_) => ::std::result::Result::Err(crate::error::UnknownVariantError::new(value)), + known => Ok(known), + } + } +} +impl ::std::fmt::Display for NumberComparisonType { + fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { + match self { + NumberComparisonType::Equal => write!(f, "EQUAL"), + NumberComparisonType::Greater => write!(f, "GREATER"), + NumberComparisonType::GreaterOrEqual => write!(f, "GREATER_OR_EQUAL"), + NumberComparisonType::Lesser => write!(f, "LESSER"), + NumberComparisonType::LesserOrEqual => write!(f, "LESSER_OR_EQUAL"), + NumberComparisonType::NotEqual => write!(f, "NOT_EQUAL"), + NumberComparisonType::Range => write!(f, "RANGE"), + NumberComparisonType::Unknown(value) => write!(f, "{}", value), + } + } +} diff --git a/sdk/connect/src/types/_number_condition.rs b/sdk/connect/src/types/_number_condition.rs new file mode 100644 index 000000000000..56d4e21647dd --- /dev/null +++ b/sdk/connect/src/types/_number_condition.rs @@ -0,0 +1,118 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. + +///

A leaf node condition which can be used to specify a numeric condition.

+///

The currently supported value for FieldName is limit.

+///
+#[non_exhaustive] +#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)] +pub struct NumberCondition { + ///

The name of the field in the number condition.

+ pub field_name: ::std::option::Option<::std::string::String>, + ///

The minValue to be used while evaluating the number condition.

+ pub min_value: ::std::option::Option, + ///

The maxValue to be used while evaluating the number condition.

+ pub max_value: ::std::option::Option, + ///

The type of comparison to be made when evaluating the number condition.

+ pub comparison_type: ::std::option::Option, +} +impl NumberCondition { + ///

The name of the field in the number condition.

+ pub fn field_name(&self) -> ::std::option::Option<&str> { + self.field_name.as_deref() + } + ///

The minValue to be used while evaluating the number condition.

+ pub fn min_value(&self) -> ::std::option::Option { + self.min_value + } + ///

The maxValue to be used while evaluating the number condition.

+ pub fn max_value(&self) -> ::std::option::Option { + self.max_value + } + ///

The type of comparison to be made when evaluating the number condition.

+ pub fn comparison_type(&self) -> ::std::option::Option<&crate::types::NumberComparisonType> { + self.comparison_type.as_ref() + } +} +impl NumberCondition { + /// Creates a new builder-style object to manufacture [`NumberCondition`](crate::types::NumberCondition). + pub fn builder() -> crate::types::builders::NumberConditionBuilder { + crate::types::builders::NumberConditionBuilder::default() + } +} + +/// A builder for [`NumberCondition`](crate::types::NumberCondition). +#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)] +#[non_exhaustive] +pub struct NumberConditionBuilder { + pub(crate) field_name: ::std::option::Option<::std::string::String>, + pub(crate) min_value: ::std::option::Option, + pub(crate) max_value: ::std::option::Option, + pub(crate) comparison_type: ::std::option::Option, +} +impl NumberConditionBuilder { + ///

The name of the field in the number condition.

+ pub fn field_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self { + self.field_name = ::std::option::Option::Some(input.into()); + self + } + ///

The name of the field in the number condition.

+ pub fn set_field_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self { + self.field_name = input; + self + } + ///

The name of the field in the number condition.

+ pub fn get_field_name(&self) -> &::std::option::Option<::std::string::String> { + &self.field_name + } + ///

The minValue to be used while evaluating the number condition.

+ pub fn min_value(mut self, input: i32) -> Self { + self.min_value = ::std::option::Option::Some(input); + self + } + ///

The minValue to be used while evaluating the number condition.

+ pub fn set_min_value(mut self, input: ::std::option::Option) -> Self { + self.min_value = input; + self + } + ///

The minValue to be used while evaluating the number condition.

+ pub fn get_min_value(&self) -> &::std::option::Option { + &self.min_value + } + ///

The maxValue to be used while evaluating the number condition.

+ pub fn max_value(mut self, input: i32) -> Self { + self.max_value = ::std::option::Option::Some(input); + self + } + ///

The maxValue to be used while evaluating the number condition.

+ pub fn set_max_value(mut self, input: ::std::option::Option) -> Self { + self.max_value = input; + self + } + ///

The maxValue to be used while evaluating the number condition.

+ pub fn get_max_value(&self) -> &::std::option::Option { + &self.max_value + } + ///

The type of comparison to be made when evaluating the number condition.

+ pub fn comparison_type(mut self, input: crate::types::NumberComparisonType) -> Self { + self.comparison_type = ::std::option::Option::Some(input); + self + } + ///

The type of comparison to be made when evaluating the number condition.

+ pub fn set_comparison_type(mut self, input: ::std::option::Option) -> Self { + self.comparison_type = input; + self + } + ///

The type of comparison to be made when evaluating the number condition.

+ pub fn get_comparison_type(&self) -> &::std::option::Option { + &self.comparison_type + } + /// Consumes the builder and constructs a [`NumberCondition`](crate::types::NumberCondition). + pub fn build(self) -> crate::types::NumberCondition { + crate::types::NumberCondition { + field_name: self.field_name, + min_value: self.min_value, + max_value: self.max_value, + comparison_type: self.comparison_type, + } + } +} diff --git a/sdk/connect/src/types/_predefined_attribute_search_criteria.rs b/sdk/connect/src/types/_predefined_attribute_search_criteria.rs index fd70c5d817eb..db0eb81f16a7 100644 --- a/sdk/connect/src/types/_predefined_attribute_search_criteria.rs +++ b/sdk/connect/src/types/_predefined_attribute_search_criteria.rs @@ -8,9 +8,7 @@ pub struct PredefinedAttributeSearchCriteria { pub or_conditions: ::std::option::Option<::std::vec::Vec>, ///

A list of conditions which would be applied together with an AND condition.

pub and_conditions: ::std::option::Option<::std::vec::Vec>, - ///

A leaf node condition which can be used to specify a string condition.

- ///

The currently supported values for FieldName are name and description.

- ///
+ ///

A leaf node condition which can be used to specify a string condition.

pub string_condition: ::std::option::Option, } impl PredefinedAttributeSearchCriteria { @@ -26,9 +24,7 @@ impl PredefinedAttributeSearchCriteria { pub fn and_conditions(&self) -> &[crate::types::PredefinedAttributeSearchCriteria] { self.and_conditions.as_deref().unwrap_or_default() } - ///

A leaf node condition which can be used to specify a string condition.

- ///

The currently supported values for FieldName are name and description.

- ///
+ ///

A leaf node condition which can be used to specify a string condition.

pub fn string_condition(&self) -> ::std::option::Option<&crate::types::StringCondition> { self.string_condition.as_ref() } @@ -89,23 +85,17 @@ impl PredefinedAttributeSearchCriteriaBuilder { pub fn get_and_conditions(&self) -> &::std::option::Option<::std::vec::Vec> { &self.and_conditions } - ///

A leaf node condition which can be used to specify a string condition.

- ///

The currently supported values for FieldName are name and description.

- ///
+ ///

A leaf node condition which can be used to specify a string condition.

pub fn string_condition(mut self, input: crate::types::StringCondition) -> Self { self.string_condition = ::std::option::Option::Some(input); self } - ///

A leaf node condition which can be used to specify a string condition.

- ///

The currently supported values for FieldName are name and description.

- ///
+ ///

A leaf node condition which can be used to specify a string condition.

pub fn set_string_condition(mut self, input: ::std::option::Option) -> Self { self.string_condition = input; self } - ///

A leaf node condition which can be used to specify a string condition.

- ///

The currently supported values for FieldName are name and description.

- ///
+ ///

A leaf node condition which can be used to specify a string condition.

pub fn get_string_condition(&self) -> &::std::option::Option { &self.string_condition } diff --git a/sdk/connect/src/types/_security_profile_search_criteria.rs b/sdk/connect/src/types/_security_profile_search_criteria.rs index dcd491960338..c96bff65a27a 100644 --- a/sdk/connect/src/types/_security_profile_search_criteria.rs +++ b/sdk/connect/src/types/_security_profile_search_criteria.rs @@ -10,9 +10,7 @@ pub struct SecurityProfileSearchCriteria { pub or_conditions: ::std::option::Option<::std::vec::Vec>, ///

A list of conditions which would be applied together with an AND condition.

pub and_conditions: ::std::option::Option<::std::vec::Vec>, - ///

A leaf node condition which can be used to specify a string condition.

- ///

The currently supported values for FieldName are name and description.

- ///
+ ///

A leaf node condition which can be used to specify a string condition.

pub string_condition: ::std::option::Option, } impl SecurityProfileSearchCriteria { @@ -28,9 +26,7 @@ impl SecurityProfileSearchCriteria { pub fn and_conditions(&self) -> &[crate::types::SecurityProfileSearchCriteria] { self.and_conditions.as_deref().unwrap_or_default() } - ///

A leaf node condition which can be used to specify a string condition.

- ///

The currently supported values for FieldName are name and description.

- ///
+ ///

A leaf node condition which can be used to specify a string condition.

pub fn string_condition(&self) -> ::std::option::Option<&crate::types::StringCondition> { self.string_condition.as_ref() } @@ -91,23 +87,17 @@ impl SecurityProfileSearchCriteriaBuilder { pub fn get_and_conditions(&self) -> &::std::option::Option<::std::vec::Vec> { &self.and_conditions } - ///

A leaf node condition which can be used to specify a string condition.

- ///

The currently supported values for FieldName are name and description.

- ///
+ ///

A leaf node condition which can be used to specify a string condition.

pub fn string_condition(mut self, input: crate::types::StringCondition) -> Self { self.string_condition = ::std::option::Option::Some(input); self } - ///

A leaf node condition which can be used to specify a string condition.

- ///

The currently supported values for FieldName are name and description.

- ///
+ ///

A leaf node condition which can be used to specify a string condition.

pub fn set_string_condition(mut self, input: ::std::option::Option) -> Self { self.string_condition = input; self } - ///

A leaf node condition which can be used to specify a string condition.

- ///

The currently supported values for FieldName are name and description.

- ///
+ ///

A leaf node condition which can be used to specify a string condition.

pub fn get_string_condition(&self) -> &::std::option::Option { &self.string_condition } diff --git a/sdk/connect/src/types/_string_condition.rs b/sdk/connect/src/types/_string_condition.rs index 9a9dbdcb9f01..a233b4616134 100644 --- a/sdk/connect/src/types/_string_condition.rs +++ b/sdk/connect/src/types/_string_condition.rs @@ -1,8 +1,6 @@ // Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. -///

A leaf node condition which can be used to specify a string condition.

-///

The currently supported values for FieldName are name and description.

-///
+///

A leaf node condition which can be used to specify a string condition.

#[non_exhaustive] #[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)] pub struct StringCondition { diff --git a/sdk/connect/src/types/_target_list_type.rs b/sdk/connect/src/types/_target_list_type.rs new file mode 100644 index 000000000000..0022087ef372 --- /dev/null +++ b/sdk/connect/src/types/_target_list_type.rs @@ -0,0 +1,101 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. + +/// When writing a match expression against `TargetListType`, it is important to ensure +/// your code is forward-compatible. That is, if a match arm handles a case for a +/// feature that is supported by the service but has not been represented as an enum +/// variant in a current version of SDK, your code should continue to work when you +/// upgrade SDK to a future version in which the enum does include a variant for that +/// feature. +/// +/// Here is an example of how you can make a match expression forward-compatible: +/// +/// ```text +/// # let targetlisttype = unimplemented!(); +/// match targetlisttype { +/// TargetListType::Proficiencies => { /* ... */ }, +/// other @ _ if other.as_str() == "NewFeature" => { /* handles a case for `NewFeature` */ }, +/// _ => { /* ... */ }, +/// } +/// ``` +/// The above code demonstrates that when `targetlisttype` represents +/// `NewFeature`, the execution path will lead to the second last match arm, +/// even though the enum does not contain a variant `TargetListType::NewFeature` +/// in the current version of SDK. The reason is that the variable `other`, +/// created by the `@` operator, is bound to +/// `TargetListType::Unknown(UnknownVariantValue("NewFeature".to_owned()))` +/// and calling `as_str` on it yields `"NewFeature"`. +/// This match expression is forward-compatible when executed with a newer +/// version of SDK where the variant `TargetListType::NewFeature` is defined. +/// Specifically, when `targetlisttype` represents `NewFeature`, +/// the execution path will hit the second last match arm as before by virtue of +/// calling `as_str` on `TargetListType::NewFeature` also yielding `"NewFeature"`. +/// +/// Explicitly matching on the `Unknown` variant should +/// be avoided for two reasons: +/// - The inner data `UnknownVariantValue` is opaque, and no further information can be extracted. +/// - It might inadvertently shadow other intended match arms. +#[allow(missing_docs)] // documentation missing in model +#[non_exhaustive] +#[derive( + ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::Ord, ::std::cmp::PartialEq, ::std::cmp::PartialOrd, ::std::fmt::Debug, ::std::hash::Hash, +)] +pub enum TargetListType { + #[allow(missing_docs)] // documentation missing in model + Proficiencies, + /// `Unknown` contains new variants that have been added since this code was generated. + #[deprecated(note = "Don't directly match on `Unknown`. See the docs on this enum for the correct way to handle unknown variants.")] + Unknown(crate::primitives::sealed_enum_unknown::UnknownVariantValue), +} +impl ::std::convert::From<&str> for TargetListType { + fn from(s: &str) -> Self { + match s { + "PROFICIENCIES" => TargetListType::Proficiencies, + other => TargetListType::Unknown(crate::primitives::sealed_enum_unknown::UnknownVariantValue(other.to_owned())), + } + } +} +impl ::std::str::FromStr for TargetListType { + type Err = ::std::convert::Infallible; + + fn from_str(s: &str) -> ::std::result::Result::Err> { + ::std::result::Result::Ok(TargetListType::from(s)) + } +} +impl TargetListType { + /// Returns the `&str` value of the enum member. + pub fn as_str(&self) -> &str { + match self { + TargetListType::Proficiencies => "PROFICIENCIES", + TargetListType::Unknown(value) => value.as_str(), + } + } + /// Returns all the `&str` representations of the enum members. + pub const fn values() -> &'static [&'static str] { + &["PROFICIENCIES"] + } +} +impl ::std::convert::AsRef for TargetListType { + fn as_ref(&self) -> &str { + self.as_str() + } +} +impl TargetListType { + /// Parses the enum value while disallowing unknown variants. + /// + /// Unknown variants will result in an error. + pub fn try_parse(value: &str) -> ::std::result::Result { + match Self::from(value) { + #[allow(deprecated)] + Self::Unknown(_) => ::std::result::Result::Err(crate::error::UnknownVariantError::new(value)), + known => Ok(known), + } + } +} +impl ::std::fmt::Display for TargetListType { + fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { + match self { + TargetListType::Proficiencies => write!(f, "PROFICIENCIES"), + TargetListType::Unknown(value) => write!(f, "{}", value), + } + } +} diff --git a/sdk/connect/src/types/_user_hierarchy_group_search_criteria.rs b/sdk/connect/src/types/_user_hierarchy_group_search_criteria.rs new file mode 100644 index 000000000000..3841d0e7e9e1 --- /dev/null +++ b/sdk/connect/src/types/_user_hierarchy_group_search_criteria.rs @@ -0,0 +1,120 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. + +///

The search criteria to be used to return userHierarchyGroup.

+#[non_exhaustive] +#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)] +pub struct UserHierarchyGroupSearchCriteria { + ///

A list of conditions which would be applied together with an OR condition.

+ pub or_conditions: ::std::option::Option<::std::vec::Vec>, + ///

A list of conditions which would be applied together with an AND condition.

+ pub and_conditions: ::std::option::Option<::std::vec::Vec>, + ///

A leaf node condition which can be used to specify a string condition.

+ ///

The currently supported values for FieldName are name,

 parentId, levelId, and resourceID.

+ ///
+ pub string_condition: ::std::option::Option, +} +impl UserHierarchyGroupSearchCriteria { + ///

A list of conditions which would be applied together with an OR condition.

+ /// + /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.or_conditions.is_none()`. + pub fn or_conditions(&self) -> &[crate::types::UserHierarchyGroupSearchCriteria] { + self.or_conditions.as_deref().unwrap_or_default() + } + ///

A list of conditions which would be applied together with an AND condition.

+ /// + /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.and_conditions.is_none()`. + pub fn and_conditions(&self) -> &[crate::types::UserHierarchyGroupSearchCriteria] { + self.and_conditions.as_deref().unwrap_or_default() + } + ///

A leaf node condition which can be used to specify a string condition.

+ ///

The currently supported values for FieldName are name,

 parentId, levelId, and resourceID.

+ ///
+ pub fn string_condition(&self) -> ::std::option::Option<&crate::types::StringCondition> { + self.string_condition.as_ref() + } +} +impl UserHierarchyGroupSearchCriteria { + /// Creates a new builder-style object to manufacture [`UserHierarchyGroupSearchCriteria`](crate::types::UserHierarchyGroupSearchCriteria). + pub fn builder() -> crate::types::builders::UserHierarchyGroupSearchCriteriaBuilder { + crate::types::builders::UserHierarchyGroupSearchCriteriaBuilder::default() + } +} + +/// A builder for [`UserHierarchyGroupSearchCriteria`](crate::types::UserHierarchyGroupSearchCriteria). +#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)] +#[non_exhaustive] +pub struct UserHierarchyGroupSearchCriteriaBuilder { + pub(crate) or_conditions: ::std::option::Option<::std::vec::Vec>, + pub(crate) and_conditions: ::std::option::Option<::std::vec::Vec>, + pub(crate) string_condition: ::std::option::Option, +} +impl UserHierarchyGroupSearchCriteriaBuilder { + /// Appends an item to `or_conditions`. + /// + /// To override the contents of this collection use [`set_or_conditions`](Self::set_or_conditions). + /// + ///

A list of conditions which would be applied together with an OR condition.

+ pub fn or_conditions(mut self, input: crate::types::UserHierarchyGroupSearchCriteria) -> Self { + let mut v = self.or_conditions.unwrap_or_default(); + v.push(input); + self.or_conditions = ::std::option::Option::Some(v); + self + } + ///

A list of conditions which would be applied together with an OR condition.

+ pub fn set_or_conditions(mut self, input: ::std::option::Option<::std::vec::Vec>) -> Self { + self.or_conditions = input; + self + } + ///

A list of conditions which would be applied together with an OR condition.

+ pub fn get_or_conditions(&self) -> &::std::option::Option<::std::vec::Vec> { + &self.or_conditions + } + /// Appends an item to `and_conditions`. + /// + /// To override the contents of this collection use [`set_and_conditions`](Self::set_and_conditions). + /// + ///

A list of conditions which would be applied together with an AND condition.

+ pub fn and_conditions(mut self, input: crate::types::UserHierarchyGroupSearchCriteria) -> Self { + let mut v = self.and_conditions.unwrap_or_default(); + v.push(input); + self.and_conditions = ::std::option::Option::Some(v); + self + } + ///

A list of conditions which would be applied together with an AND condition.

+ pub fn set_and_conditions(mut self, input: ::std::option::Option<::std::vec::Vec>) -> Self { + self.and_conditions = input; + self + } + ///

A list of conditions which would be applied together with an AND condition.

+ pub fn get_and_conditions(&self) -> &::std::option::Option<::std::vec::Vec> { + &self.and_conditions + } + ///

A leaf node condition which can be used to specify a string condition.

+ ///

The currently supported values for FieldName are name,

 parentId, levelId, and resourceID.

+ ///
+ pub fn string_condition(mut self, input: crate::types::StringCondition) -> Self { + self.string_condition = ::std::option::Option::Some(input); + self + } + ///

A leaf node condition which can be used to specify a string condition.

+ ///

The currently supported values for FieldName are name,

 parentId, levelId, and resourceID.

+ ///
+ pub fn set_string_condition(mut self, input: ::std::option::Option) -> Self { + self.string_condition = input; + self + } + ///

A leaf node condition which can be used to specify a string condition.

+ ///

The currently supported values for FieldName are name,

 parentId, levelId, and resourceID.

+ ///
+ pub fn get_string_condition(&self) -> &::std::option::Option { + &self.string_condition + } + /// Consumes the builder and constructs a [`UserHierarchyGroupSearchCriteria`](crate::types::UserHierarchyGroupSearchCriteria). + pub fn build(self) -> crate::types::UserHierarchyGroupSearchCriteria { + crate::types::UserHierarchyGroupSearchCriteria { + or_conditions: self.or_conditions, + and_conditions: self.and_conditions, + string_condition: self.string_condition, + } + } +} diff --git a/sdk/connect/src/types/_user_hierarchy_group_search_filter.rs b/sdk/connect/src/types/_user_hierarchy_group_search_filter.rs new file mode 100644 index 000000000000..0502198b65a2 --- /dev/null +++ b/sdk/connect/src/types/_user_hierarchy_group_search_filter.rs @@ -0,0 +1,80 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. + +///

Filters to be applied to search results.

+#[non_exhaustive] +#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)] +pub struct UserHierarchyGroupSearchFilter { + ///

An object that can be used to specify Tag conditions inside the SearchFilter. This accepts an OR or AND (List of List) input where:

+ ///
    + ///
  • + ///

    The top level list specifies conditions that need to be applied with OR operator.

  • + ///
  • + ///

    The inner list specifies conditions that need to be applied with AND operator.

  • + ///
+ pub attribute_filter: ::std::option::Option, +} +impl UserHierarchyGroupSearchFilter { + ///

An object that can be used to specify Tag conditions inside the SearchFilter. This accepts an OR or AND (List of List) input where:

+ ///
    + ///
  • + ///

    The top level list specifies conditions that need to be applied with OR operator.

  • + ///
  • + ///

    The inner list specifies conditions that need to be applied with AND operator.

  • + ///
+ pub fn attribute_filter(&self) -> ::std::option::Option<&crate::types::ControlPlaneAttributeFilter> { + self.attribute_filter.as_ref() + } +} +impl UserHierarchyGroupSearchFilter { + /// Creates a new builder-style object to manufacture [`UserHierarchyGroupSearchFilter`](crate::types::UserHierarchyGroupSearchFilter). + pub fn builder() -> crate::types::builders::UserHierarchyGroupSearchFilterBuilder { + crate::types::builders::UserHierarchyGroupSearchFilterBuilder::default() + } +} + +/// A builder for [`UserHierarchyGroupSearchFilter`](crate::types::UserHierarchyGroupSearchFilter). +#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)] +#[non_exhaustive] +pub struct UserHierarchyGroupSearchFilterBuilder { + pub(crate) attribute_filter: ::std::option::Option, +} +impl UserHierarchyGroupSearchFilterBuilder { + ///

An object that can be used to specify Tag conditions inside the SearchFilter. This accepts an OR or AND (List of List) input where:

+ ///
    + ///
  • + ///

    The top level list specifies conditions that need to be applied with OR operator.

  • + ///
  • + ///

    The inner list specifies conditions that need to be applied with AND operator.

  • + ///
+ pub fn attribute_filter(mut self, input: crate::types::ControlPlaneAttributeFilter) -> Self { + self.attribute_filter = ::std::option::Option::Some(input); + self + } + ///

An object that can be used to specify Tag conditions inside the SearchFilter. This accepts an OR or AND (List of List) input where:

+ ///
    + ///
  • + ///

    The top level list specifies conditions that need to be applied with OR operator.

  • + ///
  • + ///

    The inner list specifies conditions that need to be applied with AND operator.

  • + ///
+ pub fn set_attribute_filter(mut self, input: ::std::option::Option) -> Self { + self.attribute_filter = input; + self + } + ///

An object that can be used to specify Tag conditions inside the SearchFilter. This accepts an OR or AND (List of List) input where:

+ ///
    + ///
  • + ///

    The top level list specifies conditions that need to be applied with OR operator.

  • + ///
  • + ///

    The inner list specifies conditions that need to be applied with AND operator.

  • + ///
+ pub fn get_attribute_filter(&self) -> &::std::option::Option { + &self.attribute_filter + } + /// Consumes the builder and constructs a [`UserHierarchyGroupSearchFilter`](crate::types::UserHierarchyGroupSearchFilter). + pub fn build(self) -> crate::types::UserHierarchyGroupSearchFilter { + crate::types::UserHierarchyGroupSearchFilter { + attribute_filter: self.attribute_filter, + } + } +} diff --git a/sdk/connect/src/types/_user_search_criteria.rs b/sdk/connect/src/types/_user_search_criteria.rs index 21ab025a21e6..2e3cf0349bf7 100644 --- a/sdk/connect/src/types/_user_search_criteria.rs +++ b/sdk/connect/src/types/_user_search_criteria.rs @@ -13,6 +13,8 @@ pub struct UserSearchCriteria { ///

A leaf node condition which can be used to specify a string condition.

///

The currently supported values for FieldName are Username, FirstName, LastName, RoutingProfileId, SecurityProfileId, ResourceId.

pub string_condition: ::std::option::Option, + ///

A leaf node condition which can be used to specify a List condition to search users with attributes included in Lists like Proficiencies.

+ pub list_condition: ::std::option::Option, ///

A leaf node condition which can be used to specify a hierarchy group condition.

pub hierarchy_group_condition: ::std::option::Option, } @@ -34,6 +36,10 @@ impl UserSearchCriteria { pub fn string_condition(&self) -> ::std::option::Option<&crate::types::StringCondition> { self.string_condition.as_ref() } + ///

A leaf node condition which can be used to specify a List condition to search users with attributes included in Lists like Proficiencies.

+ pub fn list_condition(&self) -> ::std::option::Option<&crate::types::ListCondition> { + self.list_condition.as_ref() + } ///

A leaf node condition which can be used to specify a hierarchy group condition.

pub fn hierarchy_group_condition(&self) -> ::std::option::Option<&crate::types::HierarchyGroupCondition> { self.hierarchy_group_condition.as_ref() @@ -53,6 +59,7 @@ pub struct UserSearchCriteriaBuilder { pub(crate) or_conditions: ::std::option::Option<::std::vec::Vec>, pub(crate) and_conditions: ::std::option::Option<::std::vec::Vec>, pub(crate) string_condition: ::std::option::Option, + pub(crate) list_condition: ::std::option::Option, pub(crate) hierarchy_group_condition: ::std::option::Option, } impl UserSearchCriteriaBuilder { @@ -113,6 +120,20 @@ impl UserSearchCriteriaBuilder { pub fn get_string_condition(&self) -> &::std::option::Option { &self.string_condition } + ///

A leaf node condition which can be used to specify a List condition to search users with attributes included in Lists like Proficiencies.

+ pub fn list_condition(mut self, input: crate::types::ListCondition) -> Self { + self.list_condition = ::std::option::Option::Some(input); + self + } + ///

A leaf node condition which can be used to specify a List condition to search users with attributes included in Lists like Proficiencies.

+ pub fn set_list_condition(mut self, input: ::std::option::Option) -> Self { + self.list_condition = input; + self + } + ///

A leaf node condition which can be used to specify a List condition to search users with attributes included in Lists like Proficiencies.

+ pub fn get_list_condition(&self) -> &::std::option::Option { + &self.list_condition + } ///

A leaf node condition which can be used to specify a hierarchy group condition.

pub fn hierarchy_group_condition(mut self, input: crate::types::HierarchyGroupCondition) -> Self { self.hierarchy_group_condition = ::std::option::Option::Some(input); @@ -133,6 +154,7 @@ impl UserSearchCriteriaBuilder { or_conditions: self.or_conditions, and_conditions: self.and_conditions, string_condition: self.string_condition, + list_condition: self.list_condition, hierarchy_group_condition: self.hierarchy_group_condition, } } diff --git a/sdk/connect/src/types/builders.rs b/sdk/connect/src/types/builders.rs index f73093705b8c..7f01f2215ef4 100644 --- a/sdk/connect/src/types/builders.rs +++ b/sdk/connect/src/types/builders.rs @@ -185,6 +185,12 @@ pub use crate::types::_user_search_criteria::UserSearchCriteriaBuilder; pub use crate::types::_hierarchy_group_condition::HierarchyGroupConditionBuilder; +pub use crate::types::_list_condition::ListConditionBuilder; + +pub use crate::types::_condition::ConditionBuilder; + +pub use crate::types::_number_condition::NumberConditionBuilder; + pub use crate::types::_string_condition::StringConditionBuilder; pub use crate::types::_user_search_filter::UserSearchFilterBuilder; @@ -197,6 +203,20 @@ pub use crate::types::_attribute_and_condition::AttributeAndConditionBuilder; pub use crate::types::_control_plane_tag_filter::ControlPlaneTagFilterBuilder; +pub use crate::types::_hierarchy_group::HierarchyGroupBuilder; + +pub use crate::types::_hierarchy_path::HierarchyPathBuilder; + +pub use crate::types::_hierarchy_group_summary::HierarchyGroupSummaryBuilder; + +pub use crate::types::_user_hierarchy_group_search_criteria::UserHierarchyGroupSearchCriteriaBuilder; + +pub use crate::types::_user_hierarchy_group_search_filter::UserHierarchyGroupSearchFilterBuilder; + +pub use crate::types::_control_plane_attribute_filter::ControlPlaneAttributeFilterBuilder; + +pub use crate::types::_common_attribute_and_condition::CommonAttributeAndConditionBuilder; + pub use crate::types::_security_profile_search_summary::SecurityProfileSearchSummaryBuilder; pub use crate::types::_security_profiles_search_filter::SecurityProfilesSearchFilterBuilder; @@ -281,14 +301,18 @@ pub use crate::types::_contact_flow_module_search_filter::ContactFlowModuleSearc pub use crate::types::_available_number_summary::AvailableNumberSummaryBuilder; +pub use crate::types::_agent_status::AgentStatusBuilder; + +pub use crate::types::_agent_status_search_criteria::AgentStatusSearchCriteriaBuilder; + +pub use crate::types::_agent_status_search_filter::AgentStatusSearchFilterBuilder; + pub use crate::types::_view_version_summary::ViewVersionSummaryBuilder; pub use crate::types::_view_summary::ViewSummaryBuilder; pub use crate::types::_user_summary::UserSummaryBuilder; -pub use crate::types::_hierarchy_group_summary::HierarchyGroupSummaryBuilder; - pub use crate::types::_use_case::UseCaseBuilder; pub use crate::types::_traffic_distribution_group_user_summary::TrafficDistributionGroupUserSummaryBuilder; @@ -463,10 +487,6 @@ pub use crate::types::_hierarchy_structure::HierarchyStructureBuilder; pub use crate::types::_hierarchy_level::HierarchyLevelBuilder; -pub use crate::types::_hierarchy_group::HierarchyGroupBuilder; - -pub use crate::types::_hierarchy_path::HierarchyPathBuilder; - pub use crate::types::_user::UserBuilder; pub use crate::types::_traffic_distribution_group::TrafficDistributionGroupBuilder; @@ -541,8 +561,6 @@ pub use crate::types::_queue_info::QueueInfoBuilder; pub use crate::types::_authentication_profile::AuthenticationProfileBuilder; -pub use crate::types::_agent_status::AgentStatusBuilder; - pub use crate::types::_participant_token_credentials::ParticipantTokenCredentialsBuilder; pub use crate::types::_participant_details_to_add::ParticipantDetailsToAddBuilder; diff --git a/sdk/ec2/Cargo.toml b/sdk/ec2/Cargo.toml index 16c6163090f3..c5054c9753fb 100644 --- a/sdk/ec2/Cargo.toml +++ b/sdk/ec2/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-ec2" -version = "1.59.0" +version = "1.60.0" authors = ["AWS Rust SDK Team ", "Russell Cohen "] description = "AWS SDK for Amazon Elastic Compute Cloud" edition = "2021" diff --git a/sdk/ec2/README.md b/sdk/ec2/README.md index b8dd42d309f2..c5e9b5602275 100644 --- a/sdk/ec2/README.md +++ b/sdk/ec2/README.md @@ -14,7 +14,7 @@ your project, add the following to your **Cargo.toml** file: ```toml [dependencies] aws-config = { version = "1.1.7", features = ["behavior-version-latest"] } -aws-sdk-ec2 = "1.59.0" +aws-sdk-ec2 = "1.60.0" tokio = { version = "1", features = ["full"] } ``` diff --git a/sdk/ec2/src/client.rs b/sdk/ec2/src/client.rs index afe37805ff76..1f09ba97c326 100644 --- a/sdk/ec2/src/client.rs +++ b/sdk/ec2/src/client.rs @@ -496,6 +496,8 @@ mod create_internet_gateway; mod create_ipam; +mod create_ipam_external_resource_verification_token; + mod create_ipam_pool; mod create_ipam_resource_discovery; @@ -675,6 +677,8 @@ mod delete_internet_gateway; mod delete_ipam; +mod delete_ipam_external_resource_verification_token; + mod delete_ipam_pool; mod delete_ipam_resource_discovery; @@ -923,6 +927,8 @@ mod describe_internet_gateways; mod describe_ipam_byoasn; +mod describe_ipam_external_resource_verification_tokens; + mod describe_ipam_pools; mod describe_ipam_resource_discoveries; diff --git a/sdk/ec2/src/client/create_ipam_external_resource_verification_token.rs b/sdk/ec2/src/client/create_ipam_external_resource_verification_token.rs new file mode 100644 index 000000000000..bd07dfd3eef3 --- /dev/null +++ b/sdk/ec2/src/client/create_ipam_external_resource_verification_token.rs @@ -0,0 +1,20 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. +impl super::Client { + /// Constructs a fluent builder for the [`CreateIpamExternalResourceVerificationToken`](crate::operation::create_ipam_external_resource_verification_token::builders::CreateIpamExternalResourceVerificationTokenFluentBuilder) operation. + /// + /// - The fluent builder is configurable: + /// - [`dry_run(bool)`](crate::operation::create_ipam_external_resource_verification_token::builders::CreateIpamExternalResourceVerificationTokenFluentBuilder::dry_run) / [`set_dry_run(Option)`](crate::operation::create_ipam_external_resource_verification_token::builders::CreateIpamExternalResourceVerificationTokenFluentBuilder::set_dry_run):
required: **false**

A check for whether you have the required permissions for the action without actually making the request and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.


+ /// - [`ipam_id(impl Into)`](crate::operation::create_ipam_external_resource_verification_token::builders::CreateIpamExternalResourceVerificationTokenFluentBuilder::ipam_id) / [`set_ipam_id(Option)`](crate::operation::create_ipam_external_resource_verification_token::builders::CreateIpamExternalResourceVerificationTokenFluentBuilder::set_ipam_id):
required: **true**

The ID of the IPAM that will create the token.


+ /// - [`tag_specifications(TagSpecification)`](crate::operation::create_ipam_external_resource_verification_token::builders::CreateIpamExternalResourceVerificationTokenFluentBuilder::tag_specifications) / [`set_tag_specifications(Option>)`](crate::operation::create_ipam_external_resource_verification_token::builders::CreateIpamExternalResourceVerificationTokenFluentBuilder::set_tag_specifications):
required: **false**

Token tags.


+ /// - [`client_token(impl Into)`](crate::operation::create_ipam_external_resource_verification_token::builders::CreateIpamExternalResourceVerificationTokenFluentBuilder::client_token) / [`set_client_token(Option)`](crate::operation::create_ipam_external_resource_verification_token::builders::CreateIpamExternalResourceVerificationTokenFluentBuilder::set_client_token):
required: **false**

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring idempotency.


+ /// - On success, responds with [`CreateIpamExternalResourceVerificationTokenOutput`](crate::operation::create_ipam_external_resource_verification_token::CreateIpamExternalResourceVerificationTokenOutput) with field(s): + /// - [`ipam_external_resource_verification_token(Option)`](crate::operation::create_ipam_external_resource_verification_token::CreateIpamExternalResourceVerificationTokenOutput::ipam_external_resource_verification_token):

The verification token.

+ /// - On failure, responds with [`SdkError`](crate::operation::create_ipam_external_resource_verification_token::CreateIpamExternalResourceVerificationTokenError) + pub fn create_ipam_external_resource_verification_token( + &self, + ) -> crate::operation::create_ipam_external_resource_verification_token::builders::CreateIpamExternalResourceVerificationTokenFluentBuilder { + crate::operation::create_ipam_external_resource_verification_token::builders::CreateIpamExternalResourceVerificationTokenFluentBuilder::new( + self.handle.clone(), + ) + } +} diff --git a/sdk/ec2/src/client/create_ipam_pool.rs b/sdk/ec2/src/client/create_ipam_pool.rs index 5da7114ecd7f..d081ecef150b 100644 --- a/sdk/ec2/src/client/create_ipam_pool.rs +++ b/sdk/ec2/src/client/create_ipam_pool.rs @@ -5,7 +5,7 @@ impl super::Client { /// - The fluent builder is configurable: /// - [`dry_run(bool)`](crate::operation::create_ipam_pool::builders::CreateIpamPoolFluentBuilder::dry_run) / [`set_dry_run(Option)`](crate::operation::create_ipam_pool::builders::CreateIpamPoolFluentBuilder::set_dry_run):
required: **false**

A check for whether you have the required permissions for the action without actually making the request and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.


/// - [`ipam_scope_id(impl Into)`](crate::operation::create_ipam_pool::builders::CreateIpamPoolFluentBuilder::ipam_scope_id) / [`set_ipam_scope_id(Option)`](crate::operation::create_ipam_pool::builders::CreateIpamPoolFluentBuilder::set_ipam_scope_id):
required: **true**

The ID of the scope in which you would like to create the IPAM pool.


- /// - [`locale(impl Into)`](crate::operation::create_ipam_pool::builders::CreateIpamPoolFluentBuilder::locale) / [`set_locale(Option)`](crate::operation::create_ipam_pool::builders::CreateIpamPoolFluentBuilder::set_locale):
required: **false**

In IPAM, the locale is the Amazon Web Services Region or, for IPAM IPv4 pools in the public scope, the network border group for an Amazon Web Services Local Zone where you want to make an IPAM pool available for allocations (supported Local Zones). If you do not choose a locale, resources in Regions others than the IPAM's home region cannot use CIDRs from this pool.

Possible values: Any Amazon Web Services Region, such as us-east-1.


+ /// - [`locale(impl Into)`](crate::operation::create_ipam_pool::builders::CreateIpamPoolFluentBuilder::locale) / [`set_locale(Option)`](crate::operation::create_ipam_pool::builders::CreateIpamPoolFluentBuilder::set_locale):
required: **false**

The locale for the pool should be one of the following:

  • An Amazon Web Services Region where you want this IPAM pool to be available for allocations.

  • The network border group for an Amazon Web Services Local Zone where you want this IPAM pool to be available for allocations (supported Local Zones). This option is only available for IPAM IPv4 pools in the public scope.

If you do not choose a locale, resources in Regions others than the IPAM's home region cannot use CIDRs from this pool.

Possible values: Any Amazon Web Services Region or supported Amazon Web Services Local Zone.


/// - [`source_ipam_pool_id(impl Into)`](crate::operation::create_ipam_pool::builders::CreateIpamPoolFluentBuilder::source_ipam_pool_id) / [`set_source_ipam_pool_id(Option)`](crate::operation::create_ipam_pool::builders::CreateIpamPoolFluentBuilder::set_source_ipam_pool_id):
required: **false**

The ID of the source IPAM pool. Use this option to create a pool within an existing pool. Note that the CIDR you provision for the pool within the source pool must be available in the source pool's CIDR range.


/// - [`description(impl Into)`](crate::operation::create_ipam_pool::builders::CreateIpamPoolFluentBuilder::description) / [`set_description(Option)`](crate::operation::create_ipam_pool::builders::CreateIpamPoolFluentBuilder::set_description):
required: **false**

A description for the IPAM pool.


/// - [`address_family(AddressFamily)`](crate::operation::create_ipam_pool::builders::CreateIpamPoolFluentBuilder::address_family) / [`set_address_family(Option)`](crate::operation::create_ipam_pool::builders::CreateIpamPoolFluentBuilder::set_address_family):
required: **true**

The IP protocol assigned to this IPAM pool. You must choose either IPv4 or IPv6 protocol for a pool.


diff --git a/sdk/ec2/src/client/delete_ipam_external_resource_verification_token.rs b/sdk/ec2/src/client/delete_ipam_external_resource_verification_token.rs new file mode 100644 index 000000000000..5fa34f4b2d42 --- /dev/null +++ b/sdk/ec2/src/client/delete_ipam_external_resource_verification_token.rs @@ -0,0 +1,18 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. +impl super::Client { + /// Constructs a fluent builder for the [`DeleteIpamExternalResourceVerificationToken`](crate::operation::delete_ipam_external_resource_verification_token::builders::DeleteIpamExternalResourceVerificationTokenFluentBuilder) operation. + /// + /// - The fluent builder is configurable: + /// - [`dry_run(bool)`](crate::operation::delete_ipam_external_resource_verification_token::builders::DeleteIpamExternalResourceVerificationTokenFluentBuilder::dry_run) / [`set_dry_run(Option)`](crate::operation::delete_ipam_external_resource_verification_token::builders::DeleteIpamExternalResourceVerificationTokenFluentBuilder::set_dry_run):
required: **false**

A check for whether you have the required permissions for the action without actually making the request and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.


+ /// - [`ipam_external_resource_verification_token_id(impl Into)`](crate::operation::delete_ipam_external_resource_verification_token::builders::DeleteIpamExternalResourceVerificationTokenFluentBuilder::ipam_external_resource_verification_token_id) / [`set_ipam_external_resource_verification_token_id(Option)`](crate::operation::delete_ipam_external_resource_verification_token::builders::DeleteIpamExternalResourceVerificationTokenFluentBuilder::set_ipam_external_resource_verification_token_id):
required: **true**

The token ID.


+ /// - On success, responds with [`DeleteIpamExternalResourceVerificationTokenOutput`](crate::operation::delete_ipam_external_resource_verification_token::DeleteIpamExternalResourceVerificationTokenOutput) with field(s): + /// - [`ipam_external_resource_verification_token(Option)`](crate::operation::delete_ipam_external_resource_verification_token::DeleteIpamExternalResourceVerificationTokenOutput::ipam_external_resource_verification_token):

The verification token.

+ /// - On failure, responds with [`SdkError`](crate::operation::delete_ipam_external_resource_verification_token::DeleteIpamExternalResourceVerificationTokenError) + pub fn delete_ipam_external_resource_verification_token( + &self, + ) -> crate::operation::delete_ipam_external_resource_verification_token::builders::DeleteIpamExternalResourceVerificationTokenFluentBuilder { + crate::operation::delete_ipam_external_resource_verification_token::builders::DeleteIpamExternalResourceVerificationTokenFluentBuilder::new( + self.handle.clone(), + ) + } +} diff --git a/sdk/ec2/src/client/describe_ipam_external_resource_verification_tokens.rs b/sdk/ec2/src/client/describe_ipam_external_resource_verification_tokens.rs new file mode 100644 index 000000000000..53fd9b0673cc --- /dev/null +++ b/sdk/ec2/src/client/describe_ipam_external_resource_verification_tokens.rs @@ -0,0 +1,21 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. +impl super::Client { + /// Constructs a fluent builder for the [`DescribeIpamExternalResourceVerificationTokens`](crate::operation::describe_ipam_external_resource_verification_tokens::builders::DescribeIpamExternalResourceVerificationTokensFluentBuilder) operation. + /// + /// - The fluent builder is configurable: + /// - [`dry_run(bool)`](crate::operation::describe_ipam_external_resource_verification_tokens::builders::DescribeIpamExternalResourceVerificationTokensFluentBuilder::dry_run) / [`set_dry_run(Option)`](crate::operation::describe_ipam_external_resource_verification_tokens::builders::DescribeIpamExternalResourceVerificationTokensFluentBuilder::set_dry_run):
required: **false**

A check for whether you have the required permissions for the action without actually making the request and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.


+ /// - [`filters(Filter)`](crate::operation::describe_ipam_external_resource_verification_tokens::builders::DescribeIpamExternalResourceVerificationTokensFluentBuilder::filters) / [`set_filters(Option>)`](crate::operation::describe_ipam_external_resource_verification_tokens::builders::DescribeIpamExternalResourceVerificationTokensFluentBuilder::set_filters):
required: **false**

One or more filters for the request. For more information about filtering, see Filtering CLI output.

Available filters:

  • ipam-arn

  • ipam-external-resource-verification-token-arn

  • ipam-external-resource-verification-token-id

  • ipam-id

  • ipam-region

  • state

  • status

  • token-name

  • token-value


+ /// - [`next_token(impl Into)`](crate::operation::describe_ipam_external_resource_verification_tokens::builders::DescribeIpamExternalResourceVerificationTokensFluentBuilder::next_token) / [`set_next_token(Option)`](crate::operation::describe_ipam_external_resource_verification_tokens::builders::DescribeIpamExternalResourceVerificationTokensFluentBuilder::set_next_token):
required: **false**

The token for the next page of results.


+ /// - [`max_results(i32)`](crate::operation::describe_ipam_external_resource_verification_tokens::builders::DescribeIpamExternalResourceVerificationTokensFluentBuilder::max_results) / [`set_max_results(Option)`](crate::operation::describe_ipam_external_resource_verification_tokens::builders::DescribeIpamExternalResourceVerificationTokensFluentBuilder::set_max_results):
required: **false**

The maximum number of tokens to return in one page of results.


+ /// - [`ipam_external_resource_verification_token_ids(impl Into)`](crate::operation::describe_ipam_external_resource_verification_tokens::builders::DescribeIpamExternalResourceVerificationTokensFluentBuilder::ipam_external_resource_verification_token_ids) / [`set_ipam_external_resource_verification_token_ids(Option>)`](crate::operation::describe_ipam_external_resource_verification_tokens::builders::DescribeIpamExternalResourceVerificationTokensFluentBuilder::set_ipam_external_resource_verification_token_ids):
required: **false**

Verification token IDs.


+ /// - On success, responds with [`DescribeIpamExternalResourceVerificationTokensOutput`](crate::operation::describe_ipam_external_resource_verification_tokens::DescribeIpamExternalResourceVerificationTokensOutput) with field(s): + /// - [`next_token(Option)`](crate::operation::describe_ipam_external_resource_verification_tokens::DescribeIpamExternalResourceVerificationTokensOutput::next_token):

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

+ /// - [`ipam_external_resource_verification_tokens(Option>)`](crate::operation::describe_ipam_external_resource_verification_tokens::DescribeIpamExternalResourceVerificationTokensOutput::ipam_external_resource_verification_tokens):

Verification tokens.

+ /// - On failure, responds with [`SdkError`](crate::operation::describe_ipam_external_resource_verification_tokens::DescribeIpamExternalResourceVerificationTokensError) + pub fn describe_ipam_external_resource_verification_tokens( + &self, + ) -> crate::operation::describe_ipam_external_resource_verification_tokens::builders::DescribeIpamExternalResourceVerificationTokensFluentBuilder + { + crate::operation::describe_ipam_external_resource_verification_tokens::builders::DescribeIpamExternalResourceVerificationTokensFluentBuilder::new(self.handle.clone()) + } +} diff --git a/sdk/ec2/src/client/describe_placement_groups.rs b/sdk/ec2/src/client/describe_placement_groups.rs index 8ad34d085731..f08fa90db0f6 100644 --- a/sdk/ec2/src/client/describe_placement_groups.rs +++ b/sdk/ec2/src/client/describe_placement_groups.rs @@ -5,7 +5,7 @@ impl super::Client { /// - The fluent builder is configurable: /// - [`filters(Filter)`](crate::operation::describe_placement_groups::builders::DescribePlacementGroupsFluentBuilder::filters) / [`set_filters(Option>)`](crate::operation::describe_placement_groups::builders::DescribePlacementGroupsFluentBuilder::set_filters):
required: **false**

The filters.

  • group-name - The name of the placement group.

  • group-arn - The Amazon Resource Name (ARN) of the placement group.

  • spread-level - The spread level for the placement group (host | rack).

  • state - The state of the placement group (pending | available | deleting | deleted).

  • strategy - The strategy of the placement group (cluster | spread | partition).

  • tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

  • tag-key - The key of a tag assigned to the resource. Use this filter to find all resources that have a tag with a specific key, regardless of the tag value.


/// - [`dry_run(bool)`](crate::operation::describe_placement_groups::builders::DescribePlacementGroupsFluentBuilder::dry_run) / [`set_dry_run(Option)`](crate::operation::describe_placement_groups::builders::DescribePlacementGroupsFluentBuilder::set_dry_run):
required: **false**

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.


- /// - [`group_names(impl Into)`](crate::operation::describe_placement_groups::builders::DescribePlacementGroupsFluentBuilder::group_names) / [`set_group_names(Option>)`](crate::operation::describe_placement_groups::builders::DescribePlacementGroupsFluentBuilder::set_group_names):
required: **false**

The names of the placement groups.

Default: Describes all your placement groups, or only those otherwise specified.


+ /// - [`group_names(impl Into)`](crate::operation::describe_placement_groups::builders::DescribePlacementGroupsFluentBuilder::group_names) / [`set_group_names(Option>)`](crate::operation::describe_placement_groups::builders::DescribePlacementGroupsFluentBuilder::set_group_names):
required: **false**

The names of the placement groups.

Constraints:

  • You can specify a name only if the placement group is owned by your account.

  • If a placement group is shared with your account, specifying the name results in an error. You must use the GroupId parameter instead.


/// - [`group_ids(impl Into)`](crate::operation::describe_placement_groups::builders::DescribePlacementGroupsFluentBuilder::group_ids) / [`set_group_ids(Option>)`](crate::operation::describe_placement_groups::builders::DescribePlacementGroupsFluentBuilder::set_group_ids):
required: **false**

The IDs of the placement groups.


/// - On success, responds with [`DescribePlacementGroupsOutput`](crate::operation::describe_placement_groups::DescribePlacementGroupsOutput) with field(s): /// - [`placement_groups(Option>)`](crate::operation::describe_placement_groups::DescribePlacementGroupsOutput::placement_groups):

Information about the placement groups.

diff --git a/sdk/ec2/src/client/provision_ipam_pool_cidr.rs b/sdk/ec2/src/client/provision_ipam_pool_cidr.rs index 42e6acb5fada..a1939e9da0d1 100644 --- a/sdk/ec2/src/client/provision_ipam_pool_cidr.rs +++ b/sdk/ec2/src/client/provision_ipam_pool_cidr.rs @@ -6,9 +6,11 @@ impl super::Client { /// - [`dry_run(bool)`](crate::operation::provision_ipam_pool_cidr::builders::ProvisionIpamPoolCidrFluentBuilder::dry_run) / [`set_dry_run(Option)`](crate::operation::provision_ipam_pool_cidr::builders::ProvisionIpamPoolCidrFluentBuilder::set_dry_run):
required: **false**

A check for whether you have the required permissions for the action without actually making the request and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.


/// - [`ipam_pool_id(impl Into)`](crate::operation::provision_ipam_pool_cidr::builders::ProvisionIpamPoolCidrFluentBuilder::ipam_pool_id) / [`set_ipam_pool_id(Option)`](crate::operation::provision_ipam_pool_cidr::builders::ProvisionIpamPoolCidrFluentBuilder::set_ipam_pool_id):
required: **true**

The ID of the IPAM pool to which you want to assign a CIDR.


/// - [`cidr(impl Into)`](crate::operation::provision_ipam_pool_cidr::builders::ProvisionIpamPoolCidrFluentBuilder::cidr) / [`set_cidr(Option)`](crate::operation::provision_ipam_pool_cidr::builders::ProvisionIpamPoolCidrFluentBuilder::set_cidr):
required: **false**

The CIDR you want to assign to the IPAM pool. Either "NetmaskLength" or "Cidr" is required. This value will be null if you specify "NetmaskLength" and will be filled in during the provisioning process.


- /// - [`cidr_authorization_context(IpamCidrAuthorizationContext)`](crate::operation::provision_ipam_pool_cidr::builders::ProvisionIpamPoolCidrFluentBuilder::cidr_authorization_context) / [`set_cidr_authorization_context(Option)`](crate::operation::provision_ipam_pool_cidr::builders::ProvisionIpamPoolCidrFluentBuilder::set_cidr_authorization_context):
required: **false**

A signed document that proves that you are authorized to bring a specified IP address range to Amazon using BYOIP. This option applies to public pools only.


+ /// - [`cidr_authorization_context(IpamCidrAuthorizationContext)`](crate::operation::provision_ipam_pool_cidr::builders::ProvisionIpamPoolCidrFluentBuilder::cidr_authorization_context) / [`set_cidr_authorization_context(Option)`](crate::operation::provision_ipam_pool_cidr::builders::ProvisionIpamPoolCidrFluentBuilder::set_cidr_authorization_context):
required: **false**

A signed document that proves that you are authorized to bring a specified IP address range to Amazon using BYOIP. This option only applies to IPv4 and IPv6 pools in the public scope.


/// - [`netmask_length(i32)`](crate::operation::provision_ipam_pool_cidr::builders::ProvisionIpamPoolCidrFluentBuilder::netmask_length) / [`set_netmask_length(Option)`](crate::operation::provision_ipam_pool_cidr::builders::ProvisionIpamPoolCidrFluentBuilder::set_netmask_length):
required: **false**

The netmask length of the CIDR you'd like to provision to a pool. Can be used for provisioning Amazon-provided IPv6 CIDRs to top-level pools and for provisioning CIDRs to pools with source pools. Cannot be used to provision BYOIP CIDRs to top-level pools. Either "NetmaskLength" or "Cidr" is required.


/// - [`client_token(impl Into)`](crate::operation::provision_ipam_pool_cidr::builders::ProvisionIpamPoolCidrFluentBuilder::client_token) / [`set_client_token(Option)`](crate::operation::provision_ipam_pool_cidr::builders::ProvisionIpamPoolCidrFluentBuilder::set_client_token):
required: **false**

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring idempotency.


+ /// - [`verification_method(VerificationMethod)`](crate::operation::provision_ipam_pool_cidr::builders::ProvisionIpamPoolCidrFluentBuilder::verification_method) / [`set_verification_method(Option)`](crate::operation::provision_ipam_pool_cidr::builders::ProvisionIpamPoolCidrFluentBuilder::set_verification_method):
required: **false**

The method for verifying control of a public IP address range. Defaults to remarks-x509 if not specified. This option only applies to IPv4 and IPv6 pools in the public scope.


+ /// - [`ipam_external_resource_verification_token_id(impl Into)`](crate::operation::provision_ipam_pool_cidr::builders::ProvisionIpamPoolCidrFluentBuilder::ipam_external_resource_verification_token_id) / [`set_ipam_external_resource_verification_token_id(Option)`](crate::operation::provision_ipam_pool_cidr::builders::ProvisionIpamPoolCidrFluentBuilder::set_ipam_external_resource_verification_token_id):
required: **false**

Verification token ID. This option only applies to IPv4 and IPv6 pools in the public scope.


/// - On success, responds with [`ProvisionIpamPoolCidrOutput`](crate::operation::provision_ipam_pool_cidr::ProvisionIpamPoolCidrOutput) with field(s): /// - [`ipam_pool_cidr(Option)`](crate::operation::provision_ipam_pool_cidr::ProvisionIpamPoolCidrOutput::ipam_pool_cidr):

Information about the provisioned CIDR.

/// - On failure, responds with [`SdkError`](crate::operation::provision_ipam_pool_cidr::ProvisionIpamPoolCidrError) diff --git a/sdk/ec2/src/error_meta.rs b/sdk/ec2/src/error_meta.rs index 0ccfae626cdd..14d1413f9df1 100644 --- a/sdk/ec2/src/error_meta.rs +++ b/sdk/ec2/src/error_meta.rs @@ -1953,6 +1953,40 @@ impl From for Error { } } } +impl + From< + ::aws_smithy_runtime_api::client::result::SdkError< + crate::operation::create_ipam_external_resource_verification_token::CreateIpamExternalResourceVerificationTokenError, + R, + >, + > for Error +where + R: Send + Sync + std::fmt::Debug + 'static, +{ + fn from( + err: ::aws_smithy_runtime_api::client::result::SdkError< + crate::operation::create_ipam_external_resource_verification_token::CreateIpamExternalResourceVerificationTokenError, + R, + >, + ) -> Self { + match err { + ::aws_smithy_runtime_api::client::result::SdkError::ServiceError(context) => Self::from(context.into_err()), + _ => Error::Unhandled(crate::error::sealed_unhandled::Unhandled { + meta: ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(), + source: err.into(), + }), + } + } +} +impl From for Error { + fn from(err: crate::operation::create_ipam_external_resource_verification_token::CreateIpamExternalResourceVerificationTokenError) -> Self { + match err { + crate::operation::create_ipam_external_resource_verification_token::CreateIpamExternalResourceVerificationTokenError::Unhandled( + inner, + ) => Error::Unhandled(inner), + } + } +} impl From<::aws_smithy_runtime_api::client::result::SdkError> for Error where R: Send + Sync + std::fmt::Debug + 'static, @@ -3883,6 +3917,40 @@ impl From for Error { } } } +impl + From< + ::aws_smithy_runtime_api::client::result::SdkError< + crate::operation::delete_ipam_external_resource_verification_token::DeleteIpamExternalResourceVerificationTokenError, + R, + >, + > for Error +where + R: Send + Sync + std::fmt::Debug + 'static, +{ + fn from( + err: ::aws_smithy_runtime_api::client::result::SdkError< + crate::operation::delete_ipam_external_resource_verification_token::DeleteIpamExternalResourceVerificationTokenError, + R, + >, + ) -> Self { + match err { + ::aws_smithy_runtime_api::client::result::SdkError::ServiceError(context) => Self::from(context.into_err()), + _ => Error::Unhandled(crate::error::sealed_unhandled::Unhandled { + meta: ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(), + source: err.into(), + }), + } + } +} +impl From for Error { + fn from(err: crate::operation::delete_ipam_external_resource_verification_token::DeleteIpamExternalResourceVerificationTokenError) -> Self { + match err { + crate::operation::delete_ipam_external_resource_verification_token::DeleteIpamExternalResourceVerificationTokenError::Unhandled( + inner, + ) => Error::Unhandled(inner), + } + } +} impl From<::aws_smithy_runtime_api::client::result::SdkError> for Error where R: Send + Sync + std::fmt::Debug + 'static, @@ -7101,6 +7169,40 @@ impl From for E } } } +impl + From< + ::aws_smithy_runtime_api::client::result::SdkError< + crate::operation::describe_ipam_external_resource_verification_tokens::DescribeIpamExternalResourceVerificationTokensError, + R, + >, + > for Error +where + R: Send + Sync + std::fmt::Debug + 'static, +{ + fn from( + err: ::aws_smithy_runtime_api::client::result::SdkError< + crate::operation::describe_ipam_external_resource_verification_tokens::DescribeIpamExternalResourceVerificationTokensError, + R, + >, + ) -> Self { + match err { + ::aws_smithy_runtime_api::client::result::SdkError::ServiceError(context) => Self::from(context.into_err()), + _ => Error::Unhandled(crate::error::sealed_unhandled::Unhandled { + meta: ::aws_smithy_types::error::metadata::ProvideErrorMetadata::meta(&err).clone(), + source: err.into(), + }), + } + } +} +impl From for Error { + fn from(err: crate::operation::describe_ipam_external_resource_verification_tokens::DescribeIpamExternalResourceVerificationTokensError) -> Self { + match err { + crate::operation::describe_ipam_external_resource_verification_tokens::DescribeIpamExternalResourceVerificationTokensError::Unhandled( + inner, + ) => Error::Unhandled(inner), + } + } +} impl From<::aws_smithy_runtime_api::client::result::SdkError> for Error where R: Send + Sync + std::fmt::Debug + 'static, diff --git a/sdk/ec2/src/lib.rs b/sdk/ec2/src/lib.rs index bf3378a3edb9..fa2248ea0a54 100644 --- a/sdk/ec2/src/lib.rs +++ b/sdk/ec2/src/lib.rs @@ -31,7 +31,7 @@ //! ```toml //! [dependencies] //! aws-config = { version = "1.1.7", features = ["behavior-version-latest"] } -//! aws-sdk-ec2 = "1.59.0" +//! aws-sdk-ec2 = "1.60.0" //! tokio = { version = "1", features = ["full"] } //! ``` //! diff --git a/sdk/ec2/src/operation.rs b/sdk/ec2/src/operation.rs index b362633b9c4b..ec1bf17660b3 100644 --- a/sdk/ec2/src/operation.rs +++ b/sdk/ec2/src/operation.rs @@ -229,6 +229,9 @@ pub mod create_internet_gateway; /// Types for the `CreateIpam` operation. pub mod create_ipam; +/// Types for the `CreateIpamExternalResourceVerificationToken` operation. +pub mod create_ipam_external_resource_verification_token; + /// Types for the `CreateIpamPool` operation. pub mod create_ipam_pool; @@ -457,6 +460,9 @@ pub mod delete_internet_gateway; /// Types for the `DeleteIpam` operation. pub mod delete_ipam; +/// Types for the `DeleteIpamExternalResourceVerificationToken` operation. +pub mod delete_ipam_external_resource_verification_token; + /// Types for the `DeleteIpamPool` operation. pub mod delete_ipam_pool; @@ -829,6 +835,9 @@ pub mod describe_internet_gateways; /// Types for the `DescribeIpamByoasn` operation. pub mod describe_ipam_byoasn; +/// Types for the `DescribeIpamExternalResourceVerificationTokens` operation. +pub mod describe_ipam_external_resource_verification_tokens; + /// Types for the `DescribeIpamPools` operation. pub mod describe_ipam_pools; diff --git a/sdk/ec2/src/operation/create_ipam_external_resource_verification_token.rs b/sdk/ec2/src/operation/create_ipam_external_resource_verification_token.rs new file mode 100644 index 000000000000..345ebc98fd88 --- /dev/null +++ b/sdk/ec2/src/operation/create_ipam_external_resource_verification_token.rs @@ -0,0 +1,355 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. +/// Orchestration and serialization glue logic for `CreateIpamExternalResourceVerificationToken`. +#[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)] +#[non_exhaustive] +pub struct CreateIpamExternalResourceVerificationToken; +impl CreateIpamExternalResourceVerificationToken { + /// Creates a new `CreateIpamExternalResourceVerificationToken` + pub fn new() -> Self { + Self + } + pub(crate) async fn orchestrate( + runtime_plugins: &::aws_smithy_runtime_api::client::runtime_plugin::RuntimePlugins, + input: crate::operation::create_ipam_external_resource_verification_token::CreateIpamExternalResourceVerificationTokenInput, + ) -> ::std::result::Result< + crate::operation::create_ipam_external_resource_verification_token::CreateIpamExternalResourceVerificationTokenOutput, + ::aws_smithy_runtime_api::client::result::SdkError< + crate::operation::create_ipam_external_resource_verification_token::CreateIpamExternalResourceVerificationTokenError, + ::aws_smithy_runtime_api::client::orchestrator::HttpResponse, + >, + > { + let map_err = |err: ::aws_smithy_runtime_api::client::result::SdkError< + ::aws_smithy_runtime_api::client::interceptors::context::Error, + ::aws_smithy_runtime_api::client::orchestrator::HttpResponse, + >| { + err.map_service_error(|err| { + err.downcast::() + .expect("correct error type") + }) + }; + let context = Self::orchestrate_with_stop_point(runtime_plugins, input, ::aws_smithy_runtime::client::orchestrator::StopPoint::None) + .await + .map_err(map_err)?; + let output = context.finalize().map_err(map_err)?; + ::std::result::Result::Ok( + output + .downcast::() + .expect("correct output type"), + ) + } + + pub(crate) async fn orchestrate_with_stop_point( + runtime_plugins: &::aws_smithy_runtime_api::client::runtime_plugin::RuntimePlugins, + input: crate::operation::create_ipam_external_resource_verification_token::CreateIpamExternalResourceVerificationTokenInput, + stop_point: ::aws_smithy_runtime::client::orchestrator::StopPoint, + ) -> ::std::result::Result< + ::aws_smithy_runtime_api::client::interceptors::context::InterceptorContext, + ::aws_smithy_runtime_api::client::result::SdkError< + ::aws_smithy_runtime_api::client::interceptors::context::Error, + ::aws_smithy_runtime_api::client::orchestrator::HttpResponse, + >, + > { + let input = ::aws_smithy_runtime_api::client::interceptors::context::Input::erase(input); + ::aws_smithy_runtime::client::orchestrator::invoke_with_stop_point( + "ec2", + "CreateIpamExternalResourceVerificationToken", + input, + runtime_plugins, + stop_point, + ) + .await + } + + pub(crate) fn operation_runtime_plugins( + client_runtime_plugins: ::aws_smithy_runtime_api::client::runtime_plugin::RuntimePlugins, + client_config: &crate::config::Config, + config_override: ::std::option::Option, + ) -> ::aws_smithy_runtime_api::client::runtime_plugin::RuntimePlugins { + let mut runtime_plugins = client_runtime_plugins.with_operation_plugin(Self::new()); + runtime_plugins = runtime_plugins + .with_operation_plugin(crate::client_idempotency_token::IdempotencyTokenRuntimePlugin::new(|token_provider, input| { + let input: &mut crate::operation::create_ipam_external_resource_verification_token::CreateIpamExternalResourceVerificationTokenInput = input.downcast_mut().expect("correct type"); + if input.client_token.is_none() { + input.client_token = ::std::option::Option::Some(token_provider.make_idempotency_token()); + } + })) + .with_client_plugin(crate::auth_plugin::DefaultAuthOptionsPlugin::new(vec![::aws_runtime::auth::sigv4::SCHEME_ID])); + if let ::std::option::Option::Some(config_override) = config_override { + for plugin in config_override.runtime_plugins.iter().cloned() { + runtime_plugins = runtime_plugins.with_operation_plugin(plugin); + } + runtime_plugins = runtime_plugins.with_operation_plugin(crate::config::ConfigOverrideRuntimePlugin::new( + config_override, + client_config.config.clone(), + &client_config.runtime_components, + )); + } + runtime_plugins + } +} +impl ::aws_smithy_runtime_api::client::runtime_plugin::RuntimePlugin for CreateIpamExternalResourceVerificationToken { + fn config(&self) -> ::std::option::Option<::aws_smithy_types::config_bag::FrozenLayer> { + let mut cfg = ::aws_smithy_types::config_bag::Layer::new("CreateIpamExternalResourceVerificationToken"); + + cfg.store_put(::aws_smithy_runtime_api::client::ser_de::SharedRequestSerializer::new( + CreateIpamExternalResourceVerificationTokenRequestSerializer, + )); + cfg.store_put(::aws_smithy_runtime_api::client::ser_de::SharedResponseDeserializer::new( + CreateIpamExternalResourceVerificationTokenResponseDeserializer, + )); + + cfg.store_put(::aws_smithy_runtime_api::client::auth::AuthSchemeOptionResolverParams::new( + ::aws_smithy_runtime_api::client::auth::static_resolver::StaticAuthSchemeOptionResolverParams::new(), + )); + + cfg.store_put(::aws_smithy_runtime_api::client::orchestrator::Metadata::new( + "CreateIpamExternalResourceVerificationToken", + "ec2", + )); + let mut signing_options = ::aws_runtime::auth::SigningOptions::default(); + signing_options.double_uri_encode = true; + signing_options.content_sha256_header = false; + signing_options.normalize_uri_path = true; + signing_options.payload_override = None; + + cfg.store_put(::aws_runtime::auth::SigV4OperationSigningConfig { + signing_options, + ..::std::default::Default::default() + }); + + ::std::option::Option::Some(cfg.freeze()) + } + + fn runtime_components( + &self, + _: &::aws_smithy_runtime_api::client::runtime_components::RuntimeComponentsBuilder, + ) -> ::std::borrow::Cow<'_, ::aws_smithy_runtime_api::client::runtime_components::RuntimeComponentsBuilder> { + #[allow(unused_mut)] + let mut rcb = + ::aws_smithy_runtime_api::client::runtime_components::RuntimeComponentsBuilder::new("CreateIpamExternalResourceVerificationToken") + .with_interceptor(::aws_smithy_runtime::client::stalled_stream_protection::StalledStreamProtectionInterceptor::default()) + .with_interceptor(CreateIpamExternalResourceVerificationTokenEndpointParamsInterceptor) + .with_retry_classifier(::aws_smithy_runtime::client::retries::classifiers::TransientErrorClassifier::< + crate::operation::create_ipam_external_resource_verification_token::CreateIpamExternalResourceVerificationTokenError, + >::new()) + .with_retry_classifier(::aws_smithy_runtime::client::retries::classifiers::ModeledAsRetryableClassifier::< + crate::operation::create_ipam_external_resource_verification_token::CreateIpamExternalResourceVerificationTokenError, + >::new()) + .with_retry_classifier(::aws_runtime::retries::classifiers::AwsErrorCodeClassifier::< + crate::operation::create_ipam_external_resource_verification_token::CreateIpamExternalResourceVerificationTokenError, + >::new()); + + ::std::borrow::Cow::Owned(rcb) + } +} + +#[derive(Debug)] +struct CreateIpamExternalResourceVerificationTokenResponseDeserializer; +impl ::aws_smithy_runtime_api::client::ser_de::DeserializeResponse for CreateIpamExternalResourceVerificationTokenResponseDeserializer { + fn deserialize_nonstreaming( + &self, + response: &::aws_smithy_runtime_api::client::orchestrator::HttpResponse, + ) -> ::aws_smithy_runtime_api::client::interceptors::context::OutputOrError { + let (success, status) = (response.status().is_success(), response.status().as_u16()); + let headers = response.headers(); + let body = response.body().bytes().expect("body loaded"); + #[allow(unused_mut)] + let mut force_error = false; + ::tracing::debug!(request_id = ?::aws_types::request_id::RequestId::request_id(response)); + let parse_result = if !success && status != 200 || force_error { + crate::protocol_serde::shape_create_ipam_external_resource_verification_token::de_create_ipam_external_resource_verification_token_http_error(status, headers, body) + } else { + crate::protocol_serde::shape_create_ipam_external_resource_verification_token::de_create_ipam_external_resource_verification_token_http_response(status, headers, body) + }; + crate::protocol_serde::type_erase_result(parse_result) + } +} +#[derive(Debug)] +struct CreateIpamExternalResourceVerificationTokenRequestSerializer; +impl ::aws_smithy_runtime_api::client::ser_de::SerializeRequest for CreateIpamExternalResourceVerificationTokenRequestSerializer { + #[allow(unused_mut, clippy::let_and_return, clippy::needless_borrow, clippy::useless_conversion)] + fn serialize_input( + &self, + input: ::aws_smithy_runtime_api::client::interceptors::context::Input, + _cfg: &mut ::aws_smithy_types::config_bag::ConfigBag, + ) -> ::std::result::Result<::aws_smithy_runtime_api::client::orchestrator::HttpRequest, ::aws_smithy_runtime_api::box_error::BoxError> { + let input = input + .downcast::() + .expect("correct type"); + let _header_serialization_settings = _cfg + .load::() + .cloned() + .unwrap_or_default(); + let mut request_builder = { + fn uri_base( + _input: &crate::operation::create_ipam_external_resource_verification_token::CreateIpamExternalResourceVerificationTokenInput, + output: &mut ::std::string::String, + ) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> { + use ::std::fmt::Write as _; + ::std::write!(output, "/").expect("formatting should succeed"); + ::std::result::Result::Ok(()) + } + #[allow(clippy::unnecessary_wraps)] + fn update_http_builder( + input: &crate::operation::create_ipam_external_resource_verification_token::CreateIpamExternalResourceVerificationTokenInput, + builder: ::http::request::Builder, + ) -> ::std::result::Result<::http::request::Builder, ::aws_smithy_types::error::operation::BuildError> { + let mut uri = ::std::string::String::new(); + uri_base(input, &mut uri)?; + ::std::result::Result::Ok(builder.method("POST").uri(uri)) + } + let mut builder = update_http_builder(&input, ::http::request::Builder::new())?; + builder = _header_serialization_settings.set_default_header(builder, ::http::header::CONTENT_TYPE, "application/x-www-form-urlencoded"); + builder + }; + let body = ::aws_smithy_types::body::SdkBody::from(crate::protocol_serde::shape_create_ipam_external_resource_verification_token_input::ser_create_ipam_external_resource_verification_token_input_input_input(&input)?); + if let Some(content_length) = body.content_length() { + let content_length = content_length.to_string(); + request_builder = _header_serialization_settings.set_default_header(request_builder, ::http::header::CONTENT_LENGTH, &content_length); + } + ::std::result::Result::Ok(request_builder.body(body).expect("valid request").try_into().unwrap()) + } +} +#[derive(Debug)] +struct CreateIpamExternalResourceVerificationTokenEndpointParamsInterceptor; + +impl ::aws_smithy_runtime_api::client::interceptors::Intercept for CreateIpamExternalResourceVerificationTokenEndpointParamsInterceptor { + fn name(&self) -> &'static str { + "CreateIpamExternalResourceVerificationTokenEndpointParamsInterceptor" + } + + fn read_before_execution( + &self, + context: &::aws_smithy_runtime_api::client::interceptors::context::BeforeSerializationInterceptorContextRef< + '_, + ::aws_smithy_runtime_api::client::interceptors::context::Input, + ::aws_smithy_runtime_api::client::interceptors::context::Output, + ::aws_smithy_runtime_api::client::interceptors::context::Error, + >, + cfg: &mut ::aws_smithy_types::config_bag::ConfigBag, + ) -> ::std::result::Result<(), ::aws_smithy_runtime_api::box_error::BoxError> { + let _input = context + .input() + .downcast_ref::() + .ok_or("failed to downcast to CreateIpamExternalResourceVerificationTokenInput")?; + + let params = crate::config::endpoint::Params::builder() + .set_region(cfg.load::<::aws_types::region::Region>().map(|r| r.as_ref().to_owned())) + .set_use_dual_stack(cfg.load::<::aws_types::endpoint_config::UseDualStack>().map(|ty| ty.0)) + .set_use_fips(cfg.load::<::aws_types::endpoint_config::UseFips>().map(|ty| ty.0)) + .set_endpoint(cfg.load::<::aws_types::endpoint_config::EndpointUrl>().map(|ty| ty.0.clone())) + .build() + .map_err(|err| { + ::aws_smithy_runtime_api::client::interceptors::error::ContextAttachedError::new("endpoint params could not be built", err) + })?; + cfg.interceptor_state() + .store_put(::aws_smithy_runtime_api::client::endpoint::EndpointResolverParams::new(params)); + ::std::result::Result::Ok(()) + } +} + +/// Error type for the `CreateIpamExternalResourceVerificationTokenError` operation. +#[non_exhaustive] +#[derive(::std::fmt::Debug)] +pub enum CreateIpamExternalResourceVerificationTokenError { + /// An unexpected error occurred (e.g., invalid JSON returned by the service or an unknown error code). + #[deprecated(note = "Matching `Unhandled` directly is not forwards compatible. Instead, match using a \ + variable wildcard pattern and check `.code()`: + \ +    `err if err.code() == Some(\"SpecificExceptionCode\") => { /* handle the error */ }` + \ + See [`ProvideErrorMetadata`](#impl-ProvideErrorMetadata-for-CreateIpamExternalResourceVerificationTokenError) for what information is available for the error.")] + Unhandled(crate::error::sealed_unhandled::Unhandled), +} +impl CreateIpamExternalResourceVerificationTokenError { + /// Creates the `CreateIpamExternalResourceVerificationTokenError::Unhandled` variant from any error type. + pub fn unhandled( + err: impl ::std::convert::Into<::std::boxed::Box>, + ) -> Self { + Self::Unhandled(crate::error::sealed_unhandled::Unhandled { + source: err.into(), + meta: ::std::default::Default::default(), + }) + } + + /// Creates the `CreateIpamExternalResourceVerificationTokenError::Unhandled` variant from an [`ErrorMetadata`](::aws_smithy_types::error::ErrorMetadata). + pub fn generic(err: ::aws_smithy_types::error::ErrorMetadata) -> Self { + Self::Unhandled(crate::error::sealed_unhandled::Unhandled { + source: err.clone().into(), + meta: err, + }) + } + /// + /// Returns error metadata, which includes the error code, message, + /// request ID, and potentially additional information. + /// + pub fn meta(&self) -> &::aws_smithy_types::error::ErrorMetadata { + match self { + Self::Unhandled(e) => &e.meta, + } + } +} +impl ::std::error::Error for CreateIpamExternalResourceVerificationTokenError { + fn source(&self) -> ::std::option::Option<&(dyn ::std::error::Error + 'static)> { + match self { + Self::Unhandled(_inner) => ::std::option::Option::Some(&*_inner.source), + } + } +} +impl ::std::fmt::Display for CreateIpamExternalResourceVerificationTokenError { + fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result { + match self { + Self::Unhandled(_inner) => { + if let ::std::option::Option::Some(code) = ::aws_smithy_types::error::metadata::ProvideErrorMetadata::code(self) { + write!(f, "unhandled error ({code})") + } else { + f.write_str("unhandled error") + } + } + } + } +} +impl ::aws_smithy_types::retry::ProvideErrorKind for CreateIpamExternalResourceVerificationTokenError { + fn code(&self) -> ::std::option::Option<&str> { + ::aws_smithy_types::error::metadata::ProvideErrorMetadata::code(self) + } + fn retryable_error_kind(&self) -> ::std::option::Option<::aws_smithy_types::retry::ErrorKind> { + ::std::option::Option::None + } +} +impl ::aws_smithy_types::error::metadata::ProvideErrorMetadata for CreateIpamExternalResourceVerificationTokenError { + fn meta(&self) -> &::aws_smithy_types::error::ErrorMetadata { + match self { + Self::Unhandled(_inner) => &_inner.meta, + } + } +} +impl ::aws_smithy_runtime_api::client::result::CreateUnhandledError for CreateIpamExternalResourceVerificationTokenError { + fn create_unhandled_error( + source: ::std::boxed::Box, + meta: ::std::option::Option<::aws_smithy_types::error::ErrorMetadata>, + ) -> Self { + Self::Unhandled(crate::error::sealed_unhandled::Unhandled { + source, + meta: meta.unwrap_or_default(), + }) + } +} +impl ::aws_types::request_id::RequestId + for crate::operation::create_ipam_external_resource_verification_token::CreateIpamExternalResourceVerificationTokenError +{ + fn request_id(&self) -> Option<&str> { + self.meta().request_id() + } +} + +pub use crate::operation::create_ipam_external_resource_verification_token::_create_ipam_external_resource_verification_token_output::CreateIpamExternalResourceVerificationTokenOutput; + +pub use crate::operation::create_ipam_external_resource_verification_token::_create_ipam_external_resource_verification_token_input::CreateIpamExternalResourceVerificationTokenInput; + +mod _create_ipam_external_resource_verification_token_input; + +mod _create_ipam_external_resource_verification_token_output; + +/// Builders +pub mod builders; diff --git a/sdk/ec2/src/operation/create_ipam_external_resource_verification_token/_create_ipam_external_resource_verification_token_input.rs b/sdk/ec2/src/operation/create_ipam_external_resource_verification_token/_create_ipam_external_resource_verification_token_input.rs new file mode 100644 index 000000000000..d697dee707cd --- /dev/null +++ b/sdk/ec2/src/operation/create_ipam_external_resource_verification_token/_create_ipam_external_resource_verification_token_input.rs @@ -0,0 +1,133 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. +#[allow(missing_docs)] // documentation missing in model +#[non_exhaustive] +#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)] +pub struct CreateIpamExternalResourceVerificationTokenInput { + ///

A check for whether you have the required permissions for the action without actually making the request and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

+ pub dry_run: ::std::option::Option, + ///

The ID of the IPAM that will create the token.

+ pub ipam_id: ::std::option::Option<::std::string::String>, + ///

Token tags.

+ pub tag_specifications: ::std::option::Option<::std::vec::Vec>, + ///

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring idempotency.

+ pub client_token: ::std::option::Option<::std::string::String>, +} +impl CreateIpamExternalResourceVerificationTokenInput { + ///

A check for whether you have the required permissions for the action without actually making the request and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

+ pub fn dry_run(&self) -> ::std::option::Option { + self.dry_run + } + ///

The ID of the IPAM that will create the token.

+ pub fn ipam_id(&self) -> ::std::option::Option<&str> { + self.ipam_id.as_deref() + } + ///

Token tags.

+ /// + /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.tag_specifications.is_none()`. + pub fn tag_specifications(&self) -> &[crate::types::TagSpecification] { + self.tag_specifications.as_deref().unwrap_or_default() + } + ///

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring idempotency.

+ pub fn client_token(&self) -> ::std::option::Option<&str> { + self.client_token.as_deref() + } +} +impl CreateIpamExternalResourceVerificationTokenInput { + /// Creates a new builder-style object to manufacture [`CreateIpamExternalResourceVerificationTokenInput`](crate::operation::create_ipam_external_resource_verification_token::CreateIpamExternalResourceVerificationTokenInput). + pub fn builder( + ) -> crate::operation::create_ipam_external_resource_verification_token::builders::CreateIpamExternalResourceVerificationTokenInputBuilder { + crate::operation::create_ipam_external_resource_verification_token::builders::CreateIpamExternalResourceVerificationTokenInputBuilder::default( + ) + } +} + +/// A builder for [`CreateIpamExternalResourceVerificationTokenInput`](crate::operation::create_ipam_external_resource_verification_token::CreateIpamExternalResourceVerificationTokenInput). +#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)] +#[non_exhaustive] +pub struct CreateIpamExternalResourceVerificationTokenInputBuilder { + pub(crate) dry_run: ::std::option::Option, + pub(crate) ipam_id: ::std::option::Option<::std::string::String>, + pub(crate) tag_specifications: ::std::option::Option<::std::vec::Vec>, + pub(crate) client_token: ::std::option::Option<::std::string::String>, +} +impl CreateIpamExternalResourceVerificationTokenInputBuilder { + ///

A check for whether you have the required permissions for the action without actually making the request and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

+ pub fn dry_run(mut self, input: bool) -> Self { + self.dry_run = ::std::option::Option::Some(input); + self + } + ///

A check for whether you have the required permissions for the action without actually making the request and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

+ pub fn set_dry_run(mut self, input: ::std::option::Option) -> Self { + self.dry_run = input; + self + } + ///

A check for whether you have the required permissions for the action without actually making the request and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

+ pub fn get_dry_run(&self) -> &::std::option::Option { + &self.dry_run + } + ///

The ID of the IPAM that will create the token.

+ /// This field is required. + pub fn ipam_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self { + self.ipam_id = ::std::option::Option::Some(input.into()); + self + } + ///

The ID of the IPAM that will create the token.

+ pub fn set_ipam_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self { + self.ipam_id = input; + self + } + ///

The ID of the IPAM that will create the token.

+ pub fn get_ipam_id(&self) -> &::std::option::Option<::std::string::String> { + &self.ipam_id + } + /// Appends an item to `tag_specifications`. + /// + /// To override the contents of this collection use [`set_tag_specifications`](Self::set_tag_specifications). + /// + ///

Token tags.

+ pub fn tag_specifications(mut self, input: crate::types::TagSpecification) -> Self { + let mut v = self.tag_specifications.unwrap_or_default(); + v.push(input); + self.tag_specifications = ::std::option::Option::Some(v); + self + } + ///

Token tags.

+ pub fn set_tag_specifications(mut self, input: ::std::option::Option<::std::vec::Vec>) -> Self { + self.tag_specifications = input; + self + } + ///

Token tags.

+ pub fn get_tag_specifications(&self) -> &::std::option::Option<::std::vec::Vec> { + &self.tag_specifications + } + ///

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring idempotency.

+ pub fn client_token(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self { + self.client_token = ::std::option::Option::Some(input.into()); + self + } + ///

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring idempotency.

+ pub fn set_client_token(mut self, input: ::std::option::Option<::std::string::String>) -> Self { + self.client_token = input; + self + } + ///

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring idempotency.

+ pub fn get_client_token(&self) -> &::std::option::Option<::std::string::String> { + &self.client_token + } + /// Consumes the builder and constructs a [`CreateIpamExternalResourceVerificationTokenInput`](crate::operation::create_ipam_external_resource_verification_token::CreateIpamExternalResourceVerificationTokenInput). + pub fn build( + self, + ) -> ::std::result::Result< + crate::operation::create_ipam_external_resource_verification_token::CreateIpamExternalResourceVerificationTokenInput, + ::aws_smithy_types::error::operation::BuildError, + > { + ::std::result::Result::Ok( + crate::operation::create_ipam_external_resource_verification_token::CreateIpamExternalResourceVerificationTokenInput { + dry_run: self.dry_run, + ipam_id: self.ipam_id, + tag_specifications: self.tag_specifications, + client_token: self.client_token, + }, + ) + } +} diff --git a/sdk/ec2/src/operation/create_ipam_external_resource_verification_token/_create_ipam_external_resource_verification_token_output.rs b/sdk/ec2/src/operation/create_ipam_external_resource_verification_token/_create_ipam_external_resource_verification_token_output.rs new file mode 100644 index 000000000000..32c0be233c71 --- /dev/null +++ b/sdk/ec2/src/operation/create_ipam_external_resource_verification_token/_create_ipam_external_resource_verification_token_output.rs @@ -0,0 +1,70 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. +#[allow(missing_docs)] // documentation missing in model +#[non_exhaustive] +#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)] +pub struct CreateIpamExternalResourceVerificationTokenOutput { + ///

The verification token.

+ pub ipam_external_resource_verification_token: ::std::option::Option, + _request_id: Option, +} +impl CreateIpamExternalResourceVerificationTokenOutput { + ///

The verification token.

+ pub fn ipam_external_resource_verification_token(&self) -> ::std::option::Option<&crate::types::IpamExternalResourceVerificationToken> { + self.ipam_external_resource_verification_token.as_ref() + } +} +impl ::aws_types::request_id::RequestId for CreateIpamExternalResourceVerificationTokenOutput { + fn request_id(&self) -> Option<&str> { + self._request_id.as_deref() + } +} +impl CreateIpamExternalResourceVerificationTokenOutput { + /// Creates a new builder-style object to manufacture [`CreateIpamExternalResourceVerificationTokenOutput`](crate::operation::create_ipam_external_resource_verification_token::CreateIpamExternalResourceVerificationTokenOutput). + pub fn builder( + ) -> crate::operation::create_ipam_external_resource_verification_token::builders::CreateIpamExternalResourceVerificationTokenOutputBuilder { + crate::operation::create_ipam_external_resource_verification_token::builders::CreateIpamExternalResourceVerificationTokenOutputBuilder::default() + } +} + +/// A builder for [`CreateIpamExternalResourceVerificationTokenOutput`](crate::operation::create_ipam_external_resource_verification_token::CreateIpamExternalResourceVerificationTokenOutput). +#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)] +#[non_exhaustive] +pub struct CreateIpamExternalResourceVerificationTokenOutputBuilder { + pub(crate) ipam_external_resource_verification_token: ::std::option::Option, + _request_id: Option, +} +impl CreateIpamExternalResourceVerificationTokenOutputBuilder { + ///

The verification token.

+ pub fn ipam_external_resource_verification_token(mut self, input: crate::types::IpamExternalResourceVerificationToken) -> Self { + self.ipam_external_resource_verification_token = ::std::option::Option::Some(input); + self + } + ///

The verification token.

+ pub fn set_ipam_external_resource_verification_token( + mut self, + input: ::std::option::Option, + ) -> Self { + self.ipam_external_resource_verification_token = input; + self + } + ///

The verification token.

+ pub fn get_ipam_external_resource_verification_token(&self) -> &::std::option::Option { + &self.ipam_external_resource_verification_token + } + pub(crate) fn _request_id(mut self, request_id: impl Into) -> Self { + self._request_id = Some(request_id.into()); + self + } + + pub(crate) fn _set_request_id(&mut self, request_id: Option) -> &mut Self { + self._request_id = request_id; + self + } + /// Consumes the builder and constructs a [`CreateIpamExternalResourceVerificationTokenOutput`](crate::operation::create_ipam_external_resource_verification_token::CreateIpamExternalResourceVerificationTokenOutput). + pub fn build(self) -> crate::operation::create_ipam_external_resource_verification_token::CreateIpamExternalResourceVerificationTokenOutput { + crate::operation::create_ipam_external_resource_verification_token::CreateIpamExternalResourceVerificationTokenOutput { + ipam_external_resource_verification_token: self.ipam_external_resource_verification_token, + _request_id: self._request_id, + } + } +} diff --git a/sdk/ec2/src/operation/create_ipam_external_resource_verification_token/builders.rs b/sdk/ec2/src/operation/create_ipam_external_resource_verification_token/builders.rs new file mode 100644 index 000000000000..46f2b1214369 --- /dev/null +++ b/sdk/ec2/src/operation/create_ipam_external_resource_verification_token/builders.rs @@ -0,0 +1,178 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. +pub use crate::operation::create_ipam_external_resource_verification_token::_create_ipam_external_resource_verification_token_output::CreateIpamExternalResourceVerificationTokenOutputBuilder; + +pub use crate::operation::create_ipam_external_resource_verification_token::_create_ipam_external_resource_verification_token_input::CreateIpamExternalResourceVerificationTokenInputBuilder; + +impl crate::operation::create_ipam_external_resource_verification_token::builders::CreateIpamExternalResourceVerificationTokenInputBuilder { + /// Sends a request with this input using the given client. + pub async fn send_with( + self, + client: &crate::Client, + ) -> ::std::result::Result< + crate::operation::create_ipam_external_resource_verification_token::CreateIpamExternalResourceVerificationTokenOutput, + ::aws_smithy_runtime_api::client::result::SdkError< + crate::operation::create_ipam_external_resource_verification_token::CreateIpamExternalResourceVerificationTokenError, + ::aws_smithy_runtime_api::client::orchestrator::HttpResponse, + >, + > { + let mut fluent_builder = client.create_ipam_external_resource_verification_token(); + fluent_builder.inner = self; + fluent_builder.send().await + } +} +/// Fluent builder constructing a request to `CreateIpamExternalResourceVerificationToken`. +/// +///

Create a verification token. A verification token is an Amazon Web Services-generated random value that you can use to prove ownership of an external resource. For example, you can use a verification token to validate that you control a public IP address range when you bring an IP address range to Amazon Web Services (BYOIP).

+#[derive(::std::clone::Clone, ::std::fmt::Debug)] +pub struct CreateIpamExternalResourceVerificationTokenFluentBuilder { + handle: ::std::sync::Arc, + inner: crate::operation::create_ipam_external_resource_verification_token::builders::CreateIpamExternalResourceVerificationTokenInputBuilder, + config_override: ::std::option::Option, +} +impl + crate::client::customize::internal::CustomizableSend< + crate::operation::create_ipam_external_resource_verification_token::CreateIpamExternalResourceVerificationTokenOutput, + crate::operation::create_ipam_external_resource_verification_token::CreateIpamExternalResourceVerificationTokenError, + > for CreateIpamExternalResourceVerificationTokenFluentBuilder +{ + fn send( + self, + config_override: crate::config::Builder, + ) -> crate::client::customize::internal::BoxFuture< + crate::client::customize::internal::SendResult< + crate::operation::create_ipam_external_resource_verification_token::CreateIpamExternalResourceVerificationTokenOutput, + crate::operation::create_ipam_external_resource_verification_token::CreateIpamExternalResourceVerificationTokenError, + >, + > { + ::std::boxed::Box::pin(async move { self.config_override(config_override).send().await }) + } +} +impl CreateIpamExternalResourceVerificationTokenFluentBuilder { + /// Creates a new `CreateIpamExternalResourceVerificationTokenFluentBuilder`. + pub(crate) fn new(handle: ::std::sync::Arc) -> Self { + Self { + handle, + inner: ::std::default::Default::default(), + config_override: ::std::option::Option::None, + } + } + /// Access the CreateIpamExternalResourceVerificationToken as a reference. + pub fn as_input( + &self, + ) -> &crate::operation::create_ipam_external_resource_verification_token::builders::CreateIpamExternalResourceVerificationTokenInputBuilder { + &self.inner + } + /// Sends the request and returns the response. + /// + /// If an error occurs, an `SdkError` will be returned with additional details that + /// can be matched against. + /// + /// By default, any retryable failures will be retried twice. Retry behavior + /// is configurable with the [RetryConfig](aws_smithy_types::retry::RetryConfig), which can be + /// set when configuring the client. + pub async fn send( + self, + ) -> ::std::result::Result< + crate::operation::create_ipam_external_resource_verification_token::CreateIpamExternalResourceVerificationTokenOutput, + ::aws_smithy_runtime_api::client::result::SdkError< + crate::operation::create_ipam_external_resource_verification_token::CreateIpamExternalResourceVerificationTokenError, + ::aws_smithy_runtime_api::client::orchestrator::HttpResponse, + >, + > { + let input = self + .inner + .build() + .map_err(::aws_smithy_runtime_api::client::result::SdkError::construction_failure)?; + let runtime_plugins = crate::operation::create_ipam_external_resource_verification_token::CreateIpamExternalResourceVerificationToken::operation_runtime_plugins( + self.handle.runtime_plugins.clone(), + &self.handle.conf, + self.config_override, + ); + crate::operation::create_ipam_external_resource_verification_token::CreateIpamExternalResourceVerificationToken::orchestrate( + &runtime_plugins, + input, + ) + .await + } + + /// Consumes this builder, creating a customizable operation that can be modified before being sent. + pub fn customize( + self, + ) -> crate::client::customize::CustomizableOperation< + crate::operation::create_ipam_external_resource_verification_token::CreateIpamExternalResourceVerificationTokenOutput, + crate::operation::create_ipam_external_resource_verification_token::CreateIpamExternalResourceVerificationTokenError, + Self, + > { + crate::client::customize::CustomizableOperation::new(self) + } + pub(crate) fn config_override(mut self, config_override: impl ::std::convert::Into) -> Self { + self.set_config_override(::std::option::Option::Some(config_override.into())); + self + } + + pub(crate) fn set_config_override(&mut self, config_override: ::std::option::Option) -> &mut Self { + self.config_override = config_override; + self + } + ///

A check for whether you have the required permissions for the action without actually making the request and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

+ pub fn dry_run(mut self, input: bool) -> Self { + self.inner = self.inner.dry_run(input); + self + } + ///

A check for whether you have the required permissions for the action without actually making the request and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

+ pub fn set_dry_run(mut self, input: ::std::option::Option) -> Self { + self.inner = self.inner.set_dry_run(input); + self + } + ///

A check for whether you have the required permissions for the action without actually making the request and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

+ pub fn get_dry_run(&self) -> &::std::option::Option { + self.inner.get_dry_run() + } + ///

The ID of the IPAM that will create the token.

+ pub fn ipam_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self { + self.inner = self.inner.ipam_id(input.into()); + self + } + ///

The ID of the IPAM that will create the token.

+ pub fn set_ipam_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self { + self.inner = self.inner.set_ipam_id(input); + self + } + ///

The ID of the IPAM that will create the token.

+ pub fn get_ipam_id(&self) -> &::std::option::Option<::std::string::String> { + self.inner.get_ipam_id() + } + /// + /// Appends an item to `TagSpecifications`. + /// + /// To override the contents of this collection use [`set_tag_specifications`](Self::set_tag_specifications). + /// + ///

Token tags.

+ pub fn tag_specifications(mut self, input: crate::types::TagSpecification) -> Self { + self.inner = self.inner.tag_specifications(input); + self + } + ///

Token tags.

+ pub fn set_tag_specifications(mut self, input: ::std::option::Option<::std::vec::Vec>) -> Self { + self.inner = self.inner.set_tag_specifications(input); + self + } + ///

Token tags.

+ pub fn get_tag_specifications(&self) -> &::std::option::Option<::std::vec::Vec> { + self.inner.get_tag_specifications() + } + ///

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring idempotency.

+ pub fn client_token(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self { + self.inner = self.inner.client_token(input.into()); + self + } + ///

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring idempotency.

+ pub fn set_client_token(mut self, input: ::std::option::Option<::std::string::String>) -> Self { + self.inner = self.inner.set_client_token(input); + self + } + ///

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring idempotency.

+ pub fn get_client_token(&self) -> &::std::option::Option<::std::string::String> { + self.inner.get_client_token() + } +} diff --git a/sdk/ec2/src/operation/create_ipam_pool/_create_ipam_pool_input.rs b/sdk/ec2/src/operation/create_ipam_pool/_create_ipam_pool_input.rs index 27c970f87721..e38400d6fffe 100644 --- a/sdk/ec2/src/operation/create_ipam_pool/_create_ipam_pool_input.rs +++ b/sdk/ec2/src/operation/create_ipam_pool/_create_ipam_pool_input.rs @@ -7,8 +7,15 @@ pub struct CreateIpamPoolInput { pub dry_run: ::std::option::Option, ///

The ID of the scope in which you would like to create the IPAM pool.

pub ipam_scope_id: ::std::option::Option<::std::string::String>, - ///

In IPAM, the locale is the Amazon Web Services Region or, for IPAM IPv4 pools in the public scope, the network border group for an Amazon Web Services Local Zone where you want to make an IPAM pool available for allocations (supported Local Zones). If you do not choose a locale, resources in Regions others than the IPAM's home region cannot use CIDRs from this pool.

- ///

Possible values: Any Amazon Web Services Region, such as us-east-1.

+ ///

The locale for the pool should be one of the following:

+ ///
    + ///
  • + ///

    An Amazon Web Services Region where you want this IPAM pool to be available for allocations.

  • + ///
  • + ///

    The network border group for an Amazon Web Services Local Zone where you want this IPAM pool to be available for allocations (supported Local Zones). This option is only available for IPAM IPv4 pools in the public scope.

  • + ///
+ ///

If you do not choose a locale, resources in Regions others than the IPAM's home region cannot use CIDRs from this pool.

+ ///

Possible values: Any Amazon Web Services Region or supported Amazon Web Services Local Zone.

pub locale: ::std::option::Option<::std::string::String>, ///

The ID of the source IPAM pool. Use this option to create a pool within an existing pool. Note that the CIDR you provision for the pool within the source pool must be available in the source pool's CIDR range.

pub source_ipam_pool_id: ::std::option::Option<::std::string::String>, @@ -49,8 +56,15 @@ impl CreateIpamPoolInput { pub fn ipam_scope_id(&self) -> ::std::option::Option<&str> { self.ipam_scope_id.as_deref() } - ///

In IPAM, the locale is the Amazon Web Services Region or, for IPAM IPv4 pools in the public scope, the network border group for an Amazon Web Services Local Zone where you want to make an IPAM pool available for allocations (supported Local Zones). If you do not choose a locale, resources in Regions others than the IPAM's home region cannot use CIDRs from this pool.

- ///

Possible values: Any Amazon Web Services Region, such as us-east-1.

+ ///

The locale for the pool should be one of the following:

+ ///
    + ///
  • + ///

    An Amazon Web Services Region where you want this IPAM pool to be available for allocations.

  • + ///
  • + ///

    The network border group for an Amazon Web Services Local Zone where you want this IPAM pool to be available for allocations (supported Local Zones). This option is only available for IPAM IPv4 pools in the public scope.

  • + ///
+ ///

If you do not choose a locale, resources in Regions others than the IPAM's home region cannot use CIDRs from this pool.

+ ///

Possible values: Any Amazon Web Services Region or supported Amazon Web Services Local Zone.

pub fn locale(&self) -> ::std::option::Option<&str> { self.locale.as_deref() } @@ -175,20 +189,41 @@ impl CreateIpamPoolInputBuilder { pub fn get_ipam_scope_id(&self) -> &::std::option::Option<::std::string::String> { &self.ipam_scope_id } - ///

In IPAM, the locale is the Amazon Web Services Region or, for IPAM IPv4 pools in the public scope, the network border group for an Amazon Web Services Local Zone where you want to make an IPAM pool available for allocations (supported Local Zones). If you do not choose a locale, resources in Regions others than the IPAM's home region cannot use CIDRs from this pool.

- ///

Possible values: Any Amazon Web Services Region, such as us-east-1.

+ ///

The locale for the pool should be one of the following:

+ ///
    + ///
  • + ///

    An Amazon Web Services Region where you want this IPAM pool to be available for allocations.

  • + ///
  • + ///

    The network border group for an Amazon Web Services Local Zone where you want this IPAM pool to be available for allocations (supported Local Zones). This option is only available for IPAM IPv4 pools in the public scope.

  • + ///
+ ///

If you do not choose a locale, resources in Regions others than the IPAM's home region cannot use CIDRs from this pool.

+ ///

Possible values: Any Amazon Web Services Region or supported Amazon Web Services Local Zone.

pub fn locale(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self { self.locale = ::std::option::Option::Some(input.into()); self } - ///

In IPAM, the locale is the Amazon Web Services Region or, for IPAM IPv4 pools in the public scope, the network border group for an Amazon Web Services Local Zone where you want to make an IPAM pool available for allocations (supported Local Zones). If you do not choose a locale, resources in Regions others than the IPAM's home region cannot use CIDRs from this pool.

- ///

Possible values: Any Amazon Web Services Region, such as us-east-1.

+ ///

The locale for the pool should be one of the following:

+ ///
    + ///
  • + ///

    An Amazon Web Services Region where you want this IPAM pool to be available for allocations.

  • + ///
  • + ///

    The network border group for an Amazon Web Services Local Zone where you want this IPAM pool to be available for allocations (supported Local Zones). This option is only available for IPAM IPv4 pools in the public scope.

  • + ///
+ ///

If you do not choose a locale, resources in Regions others than the IPAM's home region cannot use CIDRs from this pool.

+ ///

Possible values: Any Amazon Web Services Region or supported Amazon Web Services Local Zone.

pub fn set_locale(mut self, input: ::std::option::Option<::std::string::String>) -> Self { self.locale = input; self } - ///

In IPAM, the locale is the Amazon Web Services Region or, for IPAM IPv4 pools in the public scope, the network border group for an Amazon Web Services Local Zone where you want to make an IPAM pool available for allocations (supported Local Zones). If you do not choose a locale, resources in Regions others than the IPAM's home region cannot use CIDRs from this pool.

- ///

Possible values: Any Amazon Web Services Region, such as us-east-1.

+ ///

The locale for the pool should be one of the following:

+ ///
    + ///
  • + ///

    An Amazon Web Services Region where you want this IPAM pool to be available for allocations.

  • + ///
  • + ///

    The network border group for an Amazon Web Services Local Zone where you want this IPAM pool to be available for allocations (supported Local Zones). This option is only available for IPAM IPv4 pools in the public scope.

  • + ///
+ ///

If you do not choose a locale, resources in Regions others than the IPAM's home region cannot use CIDRs from this pool.

+ ///

Possible values: Any Amazon Web Services Region or supported Amazon Web Services Local Zone.

pub fn get_locale(&self) -> &::std::option::Option<::std::string::String> { &self.locale } diff --git a/sdk/ec2/src/operation/create_ipam_pool/builders.rs b/sdk/ec2/src/operation/create_ipam_pool/builders.rs index f83d698efa01..76d4f2674715 100644 --- a/sdk/ec2/src/operation/create_ipam_pool/builders.rs +++ b/sdk/ec2/src/operation/create_ipam_pool/builders.rs @@ -137,20 +137,41 @@ impl CreateIpamPoolFluentBuilder { pub fn get_ipam_scope_id(&self) -> &::std::option::Option<::std::string::String> { self.inner.get_ipam_scope_id() } - ///

In IPAM, the locale is the Amazon Web Services Region or, for IPAM IPv4 pools in the public scope, the network border group for an Amazon Web Services Local Zone where you want to make an IPAM pool available for allocations (supported Local Zones). If you do not choose a locale, resources in Regions others than the IPAM's home region cannot use CIDRs from this pool.

- ///

Possible values: Any Amazon Web Services Region, such as us-east-1.

+ ///

The locale for the pool should be one of the following:

+ ///
    + ///
  • + ///

    An Amazon Web Services Region where you want this IPAM pool to be available for allocations.

  • + ///
  • + ///

    The network border group for an Amazon Web Services Local Zone where you want this IPAM pool to be available for allocations (supported Local Zones). This option is only available for IPAM IPv4 pools in the public scope.

  • + ///
+ ///

If you do not choose a locale, resources in Regions others than the IPAM's home region cannot use CIDRs from this pool.

+ ///

Possible values: Any Amazon Web Services Region or supported Amazon Web Services Local Zone.

pub fn locale(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self { self.inner = self.inner.locale(input.into()); self } - ///

In IPAM, the locale is the Amazon Web Services Region or, for IPAM IPv4 pools in the public scope, the network border group for an Amazon Web Services Local Zone where you want to make an IPAM pool available for allocations (supported Local Zones). If you do not choose a locale, resources in Regions others than the IPAM's home region cannot use CIDRs from this pool.

- ///

Possible values: Any Amazon Web Services Region, such as us-east-1.

+ ///

The locale for the pool should be one of the following:

+ ///
    + ///
  • + ///

    An Amazon Web Services Region where you want this IPAM pool to be available for allocations.

  • + ///
  • + ///

    The network border group for an Amazon Web Services Local Zone where you want this IPAM pool to be available for allocations (supported Local Zones). This option is only available for IPAM IPv4 pools in the public scope.

  • + ///
+ ///

If you do not choose a locale, resources in Regions others than the IPAM's home region cannot use CIDRs from this pool.

+ ///

Possible values: Any Amazon Web Services Region or supported Amazon Web Services Local Zone.

pub fn set_locale(mut self, input: ::std::option::Option<::std::string::String>) -> Self { self.inner = self.inner.set_locale(input); self } - ///

In IPAM, the locale is the Amazon Web Services Region or, for IPAM IPv4 pools in the public scope, the network border group for an Amazon Web Services Local Zone where you want to make an IPAM pool available for allocations (supported Local Zones). If you do not choose a locale, resources in Regions others than the IPAM's home region cannot use CIDRs from this pool.

- ///

Possible values: Any Amazon Web Services Region, such as us-east-1.

+ ///

The locale for the pool should be one of the following:

+ ///
    + ///
  • + ///

    An Amazon Web Services Region where you want this IPAM pool to be available for allocations.

  • + ///
  • + ///

    The network border group for an Amazon Web Services Local Zone where you want this IPAM pool to be available for allocations (supported Local Zones). This option is only available for IPAM IPv4 pools in the public scope.

  • + ///
+ ///

If you do not choose a locale, resources in Regions others than the IPAM's home region cannot use CIDRs from this pool.

+ ///

Possible values: Any Amazon Web Services Region or supported Amazon Web Services Local Zone.

pub fn get_locale(&self) -> &::std::option::Option<::std::string::String> { self.inner.get_locale() } diff --git a/sdk/ec2/src/operation/delete_ipam_external_resource_verification_token.rs b/sdk/ec2/src/operation/delete_ipam_external_resource_verification_token.rs new file mode 100644 index 000000000000..ffdd909ddce9 --- /dev/null +++ b/sdk/ec2/src/operation/delete_ipam_external_resource_verification_token.rs @@ -0,0 +1,350 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. +/// Orchestration and serialization glue logic for `DeleteIpamExternalResourceVerificationToken`. +#[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)] +#[non_exhaustive] +pub struct DeleteIpamExternalResourceVerificationToken; +impl DeleteIpamExternalResourceVerificationToken { + /// Creates a new `DeleteIpamExternalResourceVerificationToken` + pub fn new() -> Self { + Self + } + pub(crate) async fn orchestrate( + runtime_plugins: &::aws_smithy_runtime_api::client::runtime_plugin::RuntimePlugins, + input: crate::operation::delete_ipam_external_resource_verification_token::DeleteIpamExternalResourceVerificationTokenInput, + ) -> ::std::result::Result< + crate::operation::delete_ipam_external_resource_verification_token::DeleteIpamExternalResourceVerificationTokenOutput, + ::aws_smithy_runtime_api::client::result::SdkError< + crate::operation::delete_ipam_external_resource_verification_token::DeleteIpamExternalResourceVerificationTokenError, + ::aws_smithy_runtime_api::client::orchestrator::HttpResponse, + >, + > { + let map_err = |err: ::aws_smithy_runtime_api::client::result::SdkError< + ::aws_smithy_runtime_api::client::interceptors::context::Error, + ::aws_smithy_runtime_api::client::orchestrator::HttpResponse, + >| { + err.map_service_error(|err| { + err.downcast::() + .expect("correct error type") + }) + }; + let context = Self::orchestrate_with_stop_point(runtime_plugins, input, ::aws_smithy_runtime::client::orchestrator::StopPoint::None) + .await + .map_err(map_err)?; + let output = context.finalize().map_err(map_err)?; + ::std::result::Result::Ok( + output + .downcast::() + .expect("correct output type"), + ) + } + + pub(crate) async fn orchestrate_with_stop_point( + runtime_plugins: &::aws_smithy_runtime_api::client::runtime_plugin::RuntimePlugins, + input: crate::operation::delete_ipam_external_resource_verification_token::DeleteIpamExternalResourceVerificationTokenInput, + stop_point: ::aws_smithy_runtime::client::orchestrator::StopPoint, + ) -> ::std::result::Result< + ::aws_smithy_runtime_api::client::interceptors::context::InterceptorContext, + ::aws_smithy_runtime_api::client::result::SdkError< + ::aws_smithy_runtime_api::client::interceptors::context::Error, + ::aws_smithy_runtime_api::client::orchestrator::HttpResponse, + >, + > { + let input = ::aws_smithy_runtime_api::client::interceptors::context::Input::erase(input); + ::aws_smithy_runtime::client::orchestrator::invoke_with_stop_point( + "ec2", + "DeleteIpamExternalResourceVerificationToken", + input, + runtime_plugins, + stop_point, + ) + .await + } + + pub(crate) fn operation_runtime_plugins( + client_runtime_plugins: ::aws_smithy_runtime_api::client::runtime_plugin::RuntimePlugins, + client_config: &crate::config::Config, + config_override: ::std::option::Option, + ) -> ::aws_smithy_runtime_api::client::runtime_plugin::RuntimePlugins { + let mut runtime_plugins = client_runtime_plugins.with_operation_plugin(Self::new()); + runtime_plugins = runtime_plugins.with_client_plugin(crate::auth_plugin::DefaultAuthOptionsPlugin::new(vec![ + ::aws_runtime::auth::sigv4::SCHEME_ID, + ])); + if let ::std::option::Option::Some(config_override) = config_override { + for plugin in config_override.runtime_plugins.iter().cloned() { + runtime_plugins = runtime_plugins.with_operation_plugin(plugin); + } + runtime_plugins = runtime_plugins.with_operation_plugin(crate::config::ConfigOverrideRuntimePlugin::new( + config_override, + client_config.config.clone(), + &client_config.runtime_components, + )); + } + runtime_plugins + } +} +impl ::aws_smithy_runtime_api::client::runtime_plugin::RuntimePlugin for DeleteIpamExternalResourceVerificationToken { + fn config(&self) -> ::std::option::Option<::aws_smithy_types::config_bag::FrozenLayer> { + let mut cfg = ::aws_smithy_types::config_bag::Layer::new("DeleteIpamExternalResourceVerificationToken"); + + cfg.store_put(::aws_smithy_runtime_api::client::ser_de::SharedRequestSerializer::new( + DeleteIpamExternalResourceVerificationTokenRequestSerializer, + )); + cfg.store_put(::aws_smithy_runtime_api::client::ser_de::SharedResponseDeserializer::new( + DeleteIpamExternalResourceVerificationTokenResponseDeserializer, + )); + + cfg.store_put(::aws_smithy_runtime_api::client::auth::AuthSchemeOptionResolverParams::new( + ::aws_smithy_runtime_api::client::auth::static_resolver::StaticAuthSchemeOptionResolverParams::new(), + )); + + cfg.store_put(::aws_smithy_runtime_api::client::orchestrator::Metadata::new( + "DeleteIpamExternalResourceVerificationToken", + "ec2", + )); + let mut signing_options = ::aws_runtime::auth::SigningOptions::default(); + signing_options.double_uri_encode = true; + signing_options.content_sha256_header = false; + signing_options.normalize_uri_path = true; + signing_options.payload_override = None; + + cfg.store_put(::aws_runtime::auth::SigV4OperationSigningConfig { + signing_options, + ..::std::default::Default::default() + }); + + ::std::option::Option::Some(cfg.freeze()) + } + + fn runtime_components( + &self, + _: &::aws_smithy_runtime_api::client::runtime_components::RuntimeComponentsBuilder, + ) -> ::std::borrow::Cow<'_, ::aws_smithy_runtime_api::client::runtime_components::RuntimeComponentsBuilder> { + #[allow(unused_mut)] + let mut rcb = + ::aws_smithy_runtime_api::client::runtime_components::RuntimeComponentsBuilder::new("DeleteIpamExternalResourceVerificationToken") + .with_interceptor(::aws_smithy_runtime::client::stalled_stream_protection::StalledStreamProtectionInterceptor::default()) + .with_interceptor(DeleteIpamExternalResourceVerificationTokenEndpointParamsInterceptor) + .with_retry_classifier(::aws_smithy_runtime::client::retries::classifiers::TransientErrorClassifier::< + crate::operation::delete_ipam_external_resource_verification_token::DeleteIpamExternalResourceVerificationTokenError, + >::new()) + .with_retry_classifier(::aws_smithy_runtime::client::retries::classifiers::ModeledAsRetryableClassifier::< + crate::operation::delete_ipam_external_resource_verification_token::DeleteIpamExternalResourceVerificationTokenError, + >::new()) + .with_retry_classifier(::aws_runtime::retries::classifiers::AwsErrorCodeClassifier::< + crate::operation::delete_ipam_external_resource_verification_token::DeleteIpamExternalResourceVerificationTokenError, + >::new()); + + ::std::borrow::Cow::Owned(rcb) + } +} + +#[derive(Debug)] +struct DeleteIpamExternalResourceVerificationTokenResponseDeserializer; +impl ::aws_smithy_runtime_api::client::ser_de::DeserializeResponse for DeleteIpamExternalResourceVerificationTokenResponseDeserializer { + fn deserialize_nonstreaming( + &self, + response: &::aws_smithy_runtime_api::client::orchestrator::HttpResponse, + ) -> ::aws_smithy_runtime_api::client::interceptors::context::OutputOrError { + let (success, status) = (response.status().is_success(), response.status().as_u16()); + let headers = response.headers(); + let body = response.body().bytes().expect("body loaded"); + #[allow(unused_mut)] + let mut force_error = false; + ::tracing::debug!(request_id = ?::aws_types::request_id::RequestId::request_id(response)); + let parse_result = if !success && status != 200 || force_error { + crate::protocol_serde::shape_delete_ipam_external_resource_verification_token::de_delete_ipam_external_resource_verification_token_http_error(status, headers, body) + } else { + crate::protocol_serde::shape_delete_ipam_external_resource_verification_token::de_delete_ipam_external_resource_verification_token_http_response(status, headers, body) + }; + crate::protocol_serde::type_erase_result(parse_result) + } +} +#[derive(Debug)] +struct DeleteIpamExternalResourceVerificationTokenRequestSerializer; +impl ::aws_smithy_runtime_api::client::ser_de::SerializeRequest for DeleteIpamExternalResourceVerificationTokenRequestSerializer { + #[allow(unused_mut, clippy::let_and_return, clippy::needless_borrow, clippy::useless_conversion)] + fn serialize_input( + &self, + input: ::aws_smithy_runtime_api::client::interceptors::context::Input, + _cfg: &mut ::aws_smithy_types::config_bag::ConfigBag, + ) -> ::std::result::Result<::aws_smithy_runtime_api::client::orchestrator::HttpRequest, ::aws_smithy_runtime_api::box_error::BoxError> { + let input = input + .downcast::() + .expect("correct type"); + let _header_serialization_settings = _cfg + .load::() + .cloned() + .unwrap_or_default(); + let mut request_builder = { + fn uri_base( + _input: &crate::operation::delete_ipam_external_resource_verification_token::DeleteIpamExternalResourceVerificationTokenInput, + output: &mut ::std::string::String, + ) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> { + use ::std::fmt::Write as _; + ::std::write!(output, "/").expect("formatting should succeed"); + ::std::result::Result::Ok(()) + } + #[allow(clippy::unnecessary_wraps)] + fn update_http_builder( + input: &crate::operation::delete_ipam_external_resource_verification_token::DeleteIpamExternalResourceVerificationTokenInput, + builder: ::http::request::Builder, + ) -> ::std::result::Result<::http::request::Builder, ::aws_smithy_types::error::operation::BuildError> { + let mut uri = ::std::string::String::new(); + uri_base(input, &mut uri)?; + ::std::result::Result::Ok(builder.method("POST").uri(uri)) + } + let mut builder = update_http_builder(&input, ::http::request::Builder::new())?; + builder = _header_serialization_settings.set_default_header(builder, ::http::header::CONTENT_TYPE, "application/x-www-form-urlencoded"); + builder + }; + let body = ::aws_smithy_types::body::SdkBody::from(crate::protocol_serde::shape_delete_ipam_external_resource_verification_token_input::ser_delete_ipam_external_resource_verification_token_input_input_input(&input)?); + if let Some(content_length) = body.content_length() { + let content_length = content_length.to_string(); + request_builder = _header_serialization_settings.set_default_header(request_builder, ::http::header::CONTENT_LENGTH, &content_length); + } + ::std::result::Result::Ok(request_builder.body(body).expect("valid request").try_into().unwrap()) + } +} +#[derive(Debug)] +struct DeleteIpamExternalResourceVerificationTokenEndpointParamsInterceptor; + +impl ::aws_smithy_runtime_api::client::interceptors::Intercept for DeleteIpamExternalResourceVerificationTokenEndpointParamsInterceptor { + fn name(&self) -> &'static str { + "DeleteIpamExternalResourceVerificationTokenEndpointParamsInterceptor" + } + + fn read_before_execution( + &self, + context: &::aws_smithy_runtime_api::client::interceptors::context::BeforeSerializationInterceptorContextRef< + '_, + ::aws_smithy_runtime_api::client::interceptors::context::Input, + ::aws_smithy_runtime_api::client::interceptors::context::Output, + ::aws_smithy_runtime_api::client::interceptors::context::Error, + >, + cfg: &mut ::aws_smithy_types::config_bag::ConfigBag, + ) -> ::std::result::Result<(), ::aws_smithy_runtime_api::box_error::BoxError> { + let _input = context + .input() + .downcast_ref::() + .ok_or("failed to downcast to DeleteIpamExternalResourceVerificationTokenInput")?; + + let params = crate::config::endpoint::Params::builder() + .set_region(cfg.load::<::aws_types::region::Region>().map(|r| r.as_ref().to_owned())) + .set_use_dual_stack(cfg.load::<::aws_types::endpoint_config::UseDualStack>().map(|ty| ty.0)) + .set_use_fips(cfg.load::<::aws_types::endpoint_config::UseFips>().map(|ty| ty.0)) + .set_endpoint(cfg.load::<::aws_types::endpoint_config::EndpointUrl>().map(|ty| ty.0.clone())) + .build() + .map_err(|err| { + ::aws_smithy_runtime_api::client::interceptors::error::ContextAttachedError::new("endpoint params could not be built", err) + })?; + cfg.interceptor_state() + .store_put(::aws_smithy_runtime_api::client::endpoint::EndpointResolverParams::new(params)); + ::std::result::Result::Ok(()) + } +} + +/// Error type for the `DeleteIpamExternalResourceVerificationTokenError` operation. +#[non_exhaustive] +#[derive(::std::fmt::Debug)] +pub enum DeleteIpamExternalResourceVerificationTokenError { + /// An unexpected error occurred (e.g., invalid JSON returned by the service or an unknown error code). + #[deprecated(note = "Matching `Unhandled` directly is not forwards compatible. Instead, match using a \ + variable wildcard pattern and check `.code()`: + \ +    `err if err.code() == Some(\"SpecificExceptionCode\") => { /* handle the error */ }` + \ + See [`ProvideErrorMetadata`](#impl-ProvideErrorMetadata-for-DeleteIpamExternalResourceVerificationTokenError) for what information is available for the error.")] + Unhandled(crate::error::sealed_unhandled::Unhandled), +} +impl DeleteIpamExternalResourceVerificationTokenError { + /// Creates the `DeleteIpamExternalResourceVerificationTokenError::Unhandled` variant from any error type. + pub fn unhandled( + err: impl ::std::convert::Into<::std::boxed::Box>, + ) -> Self { + Self::Unhandled(crate::error::sealed_unhandled::Unhandled { + source: err.into(), + meta: ::std::default::Default::default(), + }) + } + + /// Creates the `DeleteIpamExternalResourceVerificationTokenError::Unhandled` variant from an [`ErrorMetadata`](::aws_smithy_types::error::ErrorMetadata). + pub fn generic(err: ::aws_smithy_types::error::ErrorMetadata) -> Self { + Self::Unhandled(crate::error::sealed_unhandled::Unhandled { + source: err.clone().into(), + meta: err, + }) + } + /// + /// Returns error metadata, which includes the error code, message, + /// request ID, and potentially additional information. + /// + pub fn meta(&self) -> &::aws_smithy_types::error::ErrorMetadata { + match self { + Self::Unhandled(e) => &e.meta, + } + } +} +impl ::std::error::Error for DeleteIpamExternalResourceVerificationTokenError { + fn source(&self) -> ::std::option::Option<&(dyn ::std::error::Error + 'static)> { + match self { + Self::Unhandled(_inner) => ::std::option::Option::Some(&*_inner.source), + } + } +} +impl ::std::fmt::Display for DeleteIpamExternalResourceVerificationTokenError { + fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result { + match self { + Self::Unhandled(_inner) => { + if let ::std::option::Option::Some(code) = ::aws_smithy_types::error::metadata::ProvideErrorMetadata::code(self) { + write!(f, "unhandled error ({code})") + } else { + f.write_str("unhandled error") + } + } + } + } +} +impl ::aws_smithy_types::retry::ProvideErrorKind for DeleteIpamExternalResourceVerificationTokenError { + fn code(&self) -> ::std::option::Option<&str> { + ::aws_smithy_types::error::metadata::ProvideErrorMetadata::code(self) + } + fn retryable_error_kind(&self) -> ::std::option::Option<::aws_smithy_types::retry::ErrorKind> { + ::std::option::Option::None + } +} +impl ::aws_smithy_types::error::metadata::ProvideErrorMetadata for DeleteIpamExternalResourceVerificationTokenError { + fn meta(&self) -> &::aws_smithy_types::error::ErrorMetadata { + match self { + Self::Unhandled(_inner) => &_inner.meta, + } + } +} +impl ::aws_smithy_runtime_api::client::result::CreateUnhandledError for DeleteIpamExternalResourceVerificationTokenError { + fn create_unhandled_error( + source: ::std::boxed::Box, + meta: ::std::option::Option<::aws_smithy_types::error::ErrorMetadata>, + ) -> Self { + Self::Unhandled(crate::error::sealed_unhandled::Unhandled { + source, + meta: meta.unwrap_or_default(), + }) + } +} +impl ::aws_types::request_id::RequestId + for crate::operation::delete_ipam_external_resource_verification_token::DeleteIpamExternalResourceVerificationTokenError +{ + fn request_id(&self) -> Option<&str> { + self.meta().request_id() + } +} + +pub use crate::operation::delete_ipam_external_resource_verification_token::_delete_ipam_external_resource_verification_token_output::DeleteIpamExternalResourceVerificationTokenOutput; + +pub use crate::operation::delete_ipam_external_resource_verification_token::_delete_ipam_external_resource_verification_token_input::DeleteIpamExternalResourceVerificationTokenInput; + +mod _delete_ipam_external_resource_verification_token_input; + +mod _delete_ipam_external_resource_verification_token_output; + +/// Builders +pub mod builders; diff --git a/sdk/ec2/src/operation/delete_ipam_external_resource_verification_token/_delete_ipam_external_resource_verification_token_input.rs b/sdk/ec2/src/operation/delete_ipam_external_resource_verification_token/_delete_ipam_external_resource_verification_token_input.rs new file mode 100644 index 000000000000..507f1329cace --- /dev/null +++ b/sdk/ec2/src/operation/delete_ipam_external_resource_verification_token/_delete_ipam_external_resource_verification_token_input.rs @@ -0,0 +1,81 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. +#[allow(missing_docs)] // documentation missing in model +#[non_exhaustive] +#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)] +pub struct DeleteIpamExternalResourceVerificationTokenInput { + ///

A check for whether you have the required permissions for the action without actually making the request and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

+ pub dry_run: ::std::option::Option, + ///

The token ID.

+ pub ipam_external_resource_verification_token_id: ::std::option::Option<::std::string::String>, +} +impl DeleteIpamExternalResourceVerificationTokenInput { + ///

A check for whether you have the required permissions for the action without actually making the request and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

+ pub fn dry_run(&self) -> ::std::option::Option { + self.dry_run + } + ///

The token ID.

+ pub fn ipam_external_resource_verification_token_id(&self) -> ::std::option::Option<&str> { + self.ipam_external_resource_verification_token_id.as_deref() + } +} +impl DeleteIpamExternalResourceVerificationTokenInput { + /// Creates a new builder-style object to manufacture [`DeleteIpamExternalResourceVerificationTokenInput`](crate::operation::delete_ipam_external_resource_verification_token::DeleteIpamExternalResourceVerificationTokenInput). + pub fn builder( + ) -> crate::operation::delete_ipam_external_resource_verification_token::builders::DeleteIpamExternalResourceVerificationTokenInputBuilder { + crate::operation::delete_ipam_external_resource_verification_token::builders::DeleteIpamExternalResourceVerificationTokenInputBuilder::default( + ) + } +} + +/// A builder for [`DeleteIpamExternalResourceVerificationTokenInput`](crate::operation::delete_ipam_external_resource_verification_token::DeleteIpamExternalResourceVerificationTokenInput). +#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)] +#[non_exhaustive] +pub struct DeleteIpamExternalResourceVerificationTokenInputBuilder { + pub(crate) dry_run: ::std::option::Option, + pub(crate) ipam_external_resource_verification_token_id: ::std::option::Option<::std::string::String>, +} +impl DeleteIpamExternalResourceVerificationTokenInputBuilder { + ///

A check for whether you have the required permissions for the action without actually making the request and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

+ pub fn dry_run(mut self, input: bool) -> Self { + self.dry_run = ::std::option::Option::Some(input); + self + } + ///

A check for whether you have the required permissions for the action without actually making the request and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

+ pub fn set_dry_run(mut self, input: ::std::option::Option) -> Self { + self.dry_run = input; + self + } + ///

A check for whether you have the required permissions for the action without actually making the request and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

+ pub fn get_dry_run(&self) -> &::std::option::Option { + &self.dry_run + } + ///

The token ID.

+ /// This field is required. + pub fn ipam_external_resource_verification_token_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self { + self.ipam_external_resource_verification_token_id = ::std::option::Option::Some(input.into()); + self + } + ///

The token ID.

+ pub fn set_ipam_external_resource_verification_token_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self { + self.ipam_external_resource_verification_token_id = input; + self + } + ///

The token ID.

+ pub fn get_ipam_external_resource_verification_token_id(&self) -> &::std::option::Option<::std::string::String> { + &self.ipam_external_resource_verification_token_id + } + /// Consumes the builder and constructs a [`DeleteIpamExternalResourceVerificationTokenInput`](crate::operation::delete_ipam_external_resource_verification_token::DeleteIpamExternalResourceVerificationTokenInput). + pub fn build( + self, + ) -> ::std::result::Result< + crate::operation::delete_ipam_external_resource_verification_token::DeleteIpamExternalResourceVerificationTokenInput, + ::aws_smithy_types::error::operation::BuildError, + > { + ::std::result::Result::Ok( + crate::operation::delete_ipam_external_resource_verification_token::DeleteIpamExternalResourceVerificationTokenInput { + dry_run: self.dry_run, + ipam_external_resource_verification_token_id: self.ipam_external_resource_verification_token_id, + }, + ) + } +} diff --git a/sdk/ec2/src/operation/delete_ipam_external_resource_verification_token/_delete_ipam_external_resource_verification_token_output.rs b/sdk/ec2/src/operation/delete_ipam_external_resource_verification_token/_delete_ipam_external_resource_verification_token_output.rs new file mode 100644 index 000000000000..234f220c333a --- /dev/null +++ b/sdk/ec2/src/operation/delete_ipam_external_resource_verification_token/_delete_ipam_external_resource_verification_token_output.rs @@ -0,0 +1,70 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. +#[allow(missing_docs)] // documentation missing in model +#[non_exhaustive] +#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)] +pub struct DeleteIpamExternalResourceVerificationTokenOutput { + ///

The verification token.

+ pub ipam_external_resource_verification_token: ::std::option::Option, + _request_id: Option, +} +impl DeleteIpamExternalResourceVerificationTokenOutput { + ///

The verification token.

+ pub fn ipam_external_resource_verification_token(&self) -> ::std::option::Option<&crate::types::IpamExternalResourceVerificationToken> { + self.ipam_external_resource_verification_token.as_ref() + } +} +impl ::aws_types::request_id::RequestId for DeleteIpamExternalResourceVerificationTokenOutput { + fn request_id(&self) -> Option<&str> { + self._request_id.as_deref() + } +} +impl DeleteIpamExternalResourceVerificationTokenOutput { + /// Creates a new builder-style object to manufacture [`DeleteIpamExternalResourceVerificationTokenOutput`](crate::operation::delete_ipam_external_resource_verification_token::DeleteIpamExternalResourceVerificationTokenOutput). + pub fn builder( + ) -> crate::operation::delete_ipam_external_resource_verification_token::builders::DeleteIpamExternalResourceVerificationTokenOutputBuilder { + crate::operation::delete_ipam_external_resource_verification_token::builders::DeleteIpamExternalResourceVerificationTokenOutputBuilder::default() + } +} + +/// A builder for [`DeleteIpamExternalResourceVerificationTokenOutput`](crate::operation::delete_ipam_external_resource_verification_token::DeleteIpamExternalResourceVerificationTokenOutput). +#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)] +#[non_exhaustive] +pub struct DeleteIpamExternalResourceVerificationTokenOutputBuilder { + pub(crate) ipam_external_resource_verification_token: ::std::option::Option, + _request_id: Option, +} +impl DeleteIpamExternalResourceVerificationTokenOutputBuilder { + ///

The verification token.

+ pub fn ipam_external_resource_verification_token(mut self, input: crate::types::IpamExternalResourceVerificationToken) -> Self { + self.ipam_external_resource_verification_token = ::std::option::Option::Some(input); + self + } + ///

The verification token.

+ pub fn set_ipam_external_resource_verification_token( + mut self, + input: ::std::option::Option, + ) -> Self { + self.ipam_external_resource_verification_token = input; + self + } + ///

The verification token.

+ pub fn get_ipam_external_resource_verification_token(&self) -> &::std::option::Option { + &self.ipam_external_resource_verification_token + } + pub(crate) fn _request_id(mut self, request_id: impl Into) -> Self { + self._request_id = Some(request_id.into()); + self + } + + pub(crate) fn _set_request_id(&mut self, request_id: Option) -> &mut Self { + self._request_id = request_id; + self + } + /// Consumes the builder and constructs a [`DeleteIpamExternalResourceVerificationTokenOutput`](crate::operation::delete_ipam_external_resource_verification_token::DeleteIpamExternalResourceVerificationTokenOutput). + pub fn build(self) -> crate::operation::delete_ipam_external_resource_verification_token::DeleteIpamExternalResourceVerificationTokenOutput { + crate::operation::delete_ipam_external_resource_verification_token::DeleteIpamExternalResourceVerificationTokenOutput { + ipam_external_resource_verification_token: self.ipam_external_resource_verification_token, + _request_id: self._request_id, + } + } +} diff --git a/sdk/ec2/src/operation/delete_ipam_external_resource_verification_token/builders.rs b/sdk/ec2/src/operation/delete_ipam_external_resource_verification_token/builders.rs new file mode 100644 index 000000000000..d13f6780e966 --- /dev/null +++ b/sdk/ec2/src/operation/delete_ipam_external_resource_verification_token/builders.rs @@ -0,0 +1,145 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. +pub use crate::operation::delete_ipam_external_resource_verification_token::_delete_ipam_external_resource_verification_token_output::DeleteIpamExternalResourceVerificationTokenOutputBuilder; + +pub use crate::operation::delete_ipam_external_resource_verification_token::_delete_ipam_external_resource_verification_token_input::DeleteIpamExternalResourceVerificationTokenInputBuilder; + +impl crate::operation::delete_ipam_external_resource_verification_token::builders::DeleteIpamExternalResourceVerificationTokenInputBuilder { + /// Sends a request with this input using the given client. + pub async fn send_with( + self, + client: &crate::Client, + ) -> ::std::result::Result< + crate::operation::delete_ipam_external_resource_verification_token::DeleteIpamExternalResourceVerificationTokenOutput, + ::aws_smithy_runtime_api::client::result::SdkError< + crate::operation::delete_ipam_external_resource_verification_token::DeleteIpamExternalResourceVerificationTokenError, + ::aws_smithy_runtime_api::client::orchestrator::HttpResponse, + >, + > { + let mut fluent_builder = client.delete_ipam_external_resource_verification_token(); + fluent_builder.inner = self; + fluent_builder.send().await + } +} +/// Fluent builder constructing a request to `DeleteIpamExternalResourceVerificationToken`. +/// +///

Delete a verification token. A verification token is an Amazon Web Services-generated random value that you can use to prove ownership of an external resource. For example, you can use a verification token to validate that you control a public IP address range when you bring an IP address range to Amazon Web Services (BYOIP).

+#[derive(::std::clone::Clone, ::std::fmt::Debug)] +pub struct DeleteIpamExternalResourceVerificationTokenFluentBuilder { + handle: ::std::sync::Arc, + inner: crate::operation::delete_ipam_external_resource_verification_token::builders::DeleteIpamExternalResourceVerificationTokenInputBuilder, + config_override: ::std::option::Option, +} +impl + crate::client::customize::internal::CustomizableSend< + crate::operation::delete_ipam_external_resource_verification_token::DeleteIpamExternalResourceVerificationTokenOutput, + crate::operation::delete_ipam_external_resource_verification_token::DeleteIpamExternalResourceVerificationTokenError, + > for DeleteIpamExternalResourceVerificationTokenFluentBuilder +{ + fn send( + self, + config_override: crate::config::Builder, + ) -> crate::client::customize::internal::BoxFuture< + crate::client::customize::internal::SendResult< + crate::operation::delete_ipam_external_resource_verification_token::DeleteIpamExternalResourceVerificationTokenOutput, + crate::operation::delete_ipam_external_resource_verification_token::DeleteIpamExternalResourceVerificationTokenError, + >, + > { + ::std::boxed::Box::pin(async move { self.config_override(config_override).send().await }) + } +} +impl DeleteIpamExternalResourceVerificationTokenFluentBuilder { + /// Creates a new `DeleteIpamExternalResourceVerificationTokenFluentBuilder`. + pub(crate) fn new(handle: ::std::sync::Arc) -> Self { + Self { + handle, + inner: ::std::default::Default::default(), + config_override: ::std::option::Option::None, + } + } + /// Access the DeleteIpamExternalResourceVerificationToken as a reference. + pub fn as_input( + &self, + ) -> &crate::operation::delete_ipam_external_resource_verification_token::builders::DeleteIpamExternalResourceVerificationTokenInputBuilder { + &self.inner + } + /// Sends the request and returns the response. + /// + /// If an error occurs, an `SdkError` will be returned with additional details that + /// can be matched against. + /// + /// By default, any retryable failures will be retried twice. Retry behavior + /// is configurable with the [RetryConfig](aws_smithy_types::retry::RetryConfig), which can be + /// set when configuring the client. + pub async fn send( + self, + ) -> ::std::result::Result< + crate::operation::delete_ipam_external_resource_verification_token::DeleteIpamExternalResourceVerificationTokenOutput, + ::aws_smithy_runtime_api::client::result::SdkError< + crate::operation::delete_ipam_external_resource_verification_token::DeleteIpamExternalResourceVerificationTokenError, + ::aws_smithy_runtime_api::client::orchestrator::HttpResponse, + >, + > { + let input = self + .inner + .build() + .map_err(::aws_smithy_runtime_api::client::result::SdkError::construction_failure)?; + let runtime_plugins = crate::operation::delete_ipam_external_resource_verification_token::DeleteIpamExternalResourceVerificationToken::operation_runtime_plugins( + self.handle.runtime_plugins.clone(), + &self.handle.conf, + self.config_override, + ); + crate::operation::delete_ipam_external_resource_verification_token::DeleteIpamExternalResourceVerificationToken::orchestrate( + &runtime_plugins, + input, + ) + .await + } + + /// Consumes this builder, creating a customizable operation that can be modified before being sent. + pub fn customize( + self, + ) -> crate::client::customize::CustomizableOperation< + crate::operation::delete_ipam_external_resource_verification_token::DeleteIpamExternalResourceVerificationTokenOutput, + crate::operation::delete_ipam_external_resource_verification_token::DeleteIpamExternalResourceVerificationTokenError, + Self, + > { + crate::client::customize::CustomizableOperation::new(self) + } + pub(crate) fn config_override(mut self, config_override: impl ::std::convert::Into) -> Self { + self.set_config_override(::std::option::Option::Some(config_override.into())); + self + } + + pub(crate) fn set_config_override(&mut self, config_override: ::std::option::Option) -> &mut Self { + self.config_override = config_override; + self + } + ///

A check for whether you have the required permissions for the action without actually making the request and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

+ pub fn dry_run(mut self, input: bool) -> Self { + self.inner = self.inner.dry_run(input); + self + } + ///

A check for whether you have the required permissions for the action without actually making the request and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

+ pub fn set_dry_run(mut self, input: ::std::option::Option) -> Self { + self.inner = self.inner.set_dry_run(input); + self + } + ///

A check for whether you have the required permissions for the action without actually making the request and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

+ pub fn get_dry_run(&self) -> &::std::option::Option { + self.inner.get_dry_run() + } + ///

The token ID.

+ pub fn ipam_external_resource_verification_token_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self { + self.inner = self.inner.ipam_external_resource_verification_token_id(input.into()); + self + } + ///

The token ID.

+ pub fn set_ipam_external_resource_verification_token_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self { + self.inner = self.inner.set_ipam_external_resource_verification_token_id(input); + self + } + ///

The token ID.

+ pub fn get_ipam_external_resource_verification_token_id(&self) -> &::std::option::Option<::std::string::String> { + self.inner.get_ipam_external_resource_verification_token_id() + } +} diff --git a/sdk/ec2/src/operation/describe_ipam_external_resource_verification_tokens.rs b/sdk/ec2/src/operation/describe_ipam_external_resource_verification_tokens.rs new file mode 100644 index 000000000000..61a6ece76148 --- /dev/null +++ b/sdk/ec2/src/operation/describe_ipam_external_resource_verification_tokens.rs @@ -0,0 +1,345 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. +/// Orchestration and serialization glue logic for `DescribeIpamExternalResourceVerificationTokens`. +#[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)] +#[non_exhaustive] +pub struct DescribeIpamExternalResourceVerificationTokens; +impl DescribeIpamExternalResourceVerificationTokens { + /// Creates a new `DescribeIpamExternalResourceVerificationTokens` + pub fn new() -> Self { + Self + } + pub(crate) async fn orchestrate( + runtime_plugins: &::aws_smithy_runtime_api::client::runtime_plugin::RuntimePlugins, + input: crate::operation::describe_ipam_external_resource_verification_tokens::DescribeIpamExternalResourceVerificationTokensInput, + ) -> ::std::result::Result< + crate::operation::describe_ipam_external_resource_verification_tokens::DescribeIpamExternalResourceVerificationTokensOutput, + ::aws_smithy_runtime_api::client::result::SdkError< + crate::operation::describe_ipam_external_resource_verification_tokens::DescribeIpamExternalResourceVerificationTokensError, + ::aws_smithy_runtime_api::client::orchestrator::HttpResponse, + >, + > { + let map_err = |err: ::aws_smithy_runtime_api::client::result::SdkError< + ::aws_smithy_runtime_api::client::interceptors::context::Error, + ::aws_smithy_runtime_api::client::orchestrator::HttpResponse, + >| { + err.map_service_error(|err| { + err.downcast::().expect("correct error type") + }) + }; + let context = Self::orchestrate_with_stop_point(runtime_plugins, input, ::aws_smithy_runtime::client::orchestrator::StopPoint::None) + .await + .map_err(map_err)?; + let output = context.finalize().map_err(map_err)?; + ::std::result::Result::Ok(output.downcast::().expect("correct output type")) + } + + pub(crate) async fn orchestrate_with_stop_point( + runtime_plugins: &::aws_smithy_runtime_api::client::runtime_plugin::RuntimePlugins, + input: crate::operation::describe_ipam_external_resource_verification_tokens::DescribeIpamExternalResourceVerificationTokensInput, + stop_point: ::aws_smithy_runtime::client::orchestrator::StopPoint, + ) -> ::std::result::Result< + ::aws_smithy_runtime_api::client::interceptors::context::InterceptorContext, + ::aws_smithy_runtime_api::client::result::SdkError< + ::aws_smithy_runtime_api::client::interceptors::context::Error, + ::aws_smithy_runtime_api::client::orchestrator::HttpResponse, + >, + > { + let input = ::aws_smithy_runtime_api::client::interceptors::context::Input::erase(input); + ::aws_smithy_runtime::client::orchestrator::invoke_with_stop_point( + "ec2", + "DescribeIpamExternalResourceVerificationTokens", + input, + runtime_plugins, + stop_point, + ) + .await + } + + pub(crate) fn operation_runtime_plugins( + client_runtime_plugins: ::aws_smithy_runtime_api::client::runtime_plugin::RuntimePlugins, + client_config: &crate::config::Config, + config_override: ::std::option::Option, + ) -> ::aws_smithy_runtime_api::client::runtime_plugin::RuntimePlugins { + let mut runtime_plugins = client_runtime_plugins.with_operation_plugin(Self::new()); + runtime_plugins = runtime_plugins.with_client_plugin(crate::auth_plugin::DefaultAuthOptionsPlugin::new(vec![ + ::aws_runtime::auth::sigv4::SCHEME_ID, + ])); + if let ::std::option::Option::Some(config_override) = config_override { + for plugin in config_override.runtime_plugins.iter().cloned() { + runtime_plugins = runtime_plugins.with_operation_plugin(plugin); + } + runtime_plugins = runtime_plugins.with_operation_plugin(crate::config::ConfigOverrideRuntimePlugin::new( + config_override, + client_config.config.clone(), + &client_config.runtime_components, + )); + } + runtime_plugins + } +} +impl ::aws_smithy_runtime_api::client::runtime_plugin::RuntimePlugin for DescribeIpamExternalResourceVerificationTokens { + fn config(&self) -> ::std::option::Option<::aws_smithy_types::config_bag::FrozenLayer> { + let mut cfg = ::aws_smithy_types::config_bag::Layer::new("DescribeIpamExternalResourceVerificationTokens"); + + cfg.store_put(::aws_smithy_runtime_api::client::ser_de::SharedRequestSerializer::new( + DescribeIpamExternalResourceVerificationTokensRequestSerializer, + )); + cfg.store_put(::aws_smithy_runtime_api::client::ser_de::SharedResponseDeserializer::new( + DescribeIpamExternalResourceVerificationTokensResponseDeserializer, + )); + + cfg.store_put(::aws_smithy_runtime_api::client::auth::AuthSchemeOptionResolverParams::new( + ::aws_smithy_runtime_api::client::auth::static_resolver::StaticAuthSchemeOptionResolverParams::new(), + )); + + cfg.store_put(::aws_smithy_runtime_api::client::orchestrator::Metadata::new( + "DescribeIpamExternalResourceVerificationTokens", + "ec2", + )); + let mut signing_options = ::aws_runtime::auth::SigningOptions::default(); + signing_options.double_uri_encode = true; + signing_options.content_sha256_header = false; + signing_options.normalize_uri_path = true; + signing_options.payload_override = None; + + cfg.store_put(::aws_runtime::auth::SigV4OperationSigningConfig { + signing_options, + ..::std::default::Default::default() + }); + + ::std::option::Option::Some(cfg.freeze()) + } + + fn runtime_components( + &self, + _: &::aws_smithy_runtime_api::client::runtime_components::RuntimeComponentsBuilder, + ) -> ::std::borrow::Cow<'_, ::aws_smithy_runtime_api::client::runtime_components::RuntimeComponentsBuilder> { + #[allow(unused_mut)] + let mut rcb = + ::aws_smithy_runtime_api::client::runtime_components::RuntimeComponentsBuilder::new("DescribeIpamExternalResourceVerificationTokens") + .with_interceptor(::aws_smithy_runtime::client::stalled_stream_protection::StalledStreamProtectionInterceptor::default()) + .with_interceptor(DescribeIpamExternalResourceVerificationTokensEndpointParamsInterceptor) + .with_retry_classifier(::aws_smithy_runtime::client::retries::classifiers::TransientErrorClassifier::< + crate::operation::describe_ipam_external_resource_verification_tokens::DescribeIpamExternalResourceVerificationTokensError, + >::new()) + .with_retry_classifier(::aws_smithy_runtime::client::retries::classifiers::ModeledAsRetryableClassifier::< + crate::operation::describe_ipam_external_resource_verification_tokens::DescribeIpamExternalResourceVerificationTokensError, + >::new()) + .with_retry_classifier(::aws_runtime::retries::classifiers::AwsErrorCodeClassifier::< + crate::operation::describe_ipam_external_resource_verification_tokens::DescribeIpamExternalResourceVerificationTokensError, + >::new()); + + ::std::borrow::Cow::Owned(rcb) + } +} + +#[derive(Debug)] +struct DescribeIpamExternalResourceVerificationTokensResponseDeserializer; +impl ::aws_smithy_runtime_api::client::ser_de::DeserializeResponse for DescribeIpamExternalResourceVerificationTokensResponseDeserializer { + fn deserialize_nonstreaming( + &self, + response: &::aws_smithy_runtime_api::client::orchestrator::HttpResponse, + ) -> ::aws_smithy_runtime_api::client::interceptors::context::OutputOrError { + let (success, status) = (response.status().is_success(), response.status().as_u16()); + let headers = response.headers(); + let body = response.body().bytes().expect("body loaded"); + #[allow(unused_mut)] + let mut force_error = false; + ::tracing::debug!(request_id = ?::aws_types::request_id::RequestId::request_id(response)); + let parse_result = if !success && status != 200 || force_error { + crate::protocol_serde::shape_describe_ipam_external_resource_verification_tokens::de_describe_ipam_external_resource_verification_tokens_http_error(status, headers, body) + } else { + crate::protocol_serde::shape_describe_ipam_external_resource_verification_tokens::de_describe_ipam_external_resource_verification_tokens_http_response(status, headers, body) + }; + crate::protocol_serde::type_erase_result(parse_result) + } +} +#[derive(Debug)] +struct DescribeIpamExternalResourceVerificationTokensRequestSerializer; +impl ::aws_smithy_runtime_api::client::ser_de::SerializeRequest for DescribeIpamExternalResourceVerificationTokensRequestSerializer { + #[allow(unused_mut, clippy::let_and_return, clippy::needless_borrow, clippy::useless_conversion)] + fn serialize_input( + &self, + input: ::aws_smithy_runtime_api::client::interceptors::context::Input, + _cfg: &mut ::aws_smithy_types::config_bag::ConfigBag, + ) -> ::std::result::Result<::aws_smithy_runtime_api::client::orchestrator::HttpRequest, ::aws_smithy_runtime_api::box_error::BoxError> { + let input = input + .downcast::() + .expect("correct type"); + let _header_serialization_settings = _cfg + .load::() + .cloned() + .unwrap_or_default(); + let mut request_builder = { + fn uri_base( + _input: &crate::operation::describe_ipam_external_resource_verification_tokens::DescribeIpamExternalResourceVerificationTokensInput, + output: &mut ::std::string::String, + ) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> { + use ::std::fmt::Write as _; + ::std::write!(output, "/").expect("formatting should succeed"); + ::std::result::Result::Ok(()) + } + #[allow(clippy::unnecessary_wraps)] + fn update_http_builder( + input: &crate::operation::describe_ipam_external_resource_verification_tokens::DescribeIpamExternalResourceVerificationTokensInput, + builder: ::http::request::Builder, + ) -> ::std::result::Result<::http::request::Builder, ::aws_smithy_types::error::operation::BuildError> { + let mut uri = ::std::string::String::new(); + uri_base(input, &mut uri)?; + ::std::result::Result::Ok(builder.method("POST").uri(uri)) + } + let mut builder = update_http_builder(&input, ::http::request::Builder::new())?; + builder = _header_serialization_settings.set_default_header(builder, ::http::header::CONTENT_TYPE, "application/x-www-form-urlencoded"); + builder + }; + let body = ::aws_smithy_types::body::SdkBody::from(crate::protocol_serde::shape_describe_ipam_external_resource_verification_tokens_input::ser_describe_ipam_external_resource_verification_tokens_input_input_input(&input)?); + if let Some(content_length) = body.content_length() { + let content_length = content_length.to_string(); + request_builder = _header_serialization_settings.set_default_header(request_builder, ::http::header::CONTENT_LENGTH, &content_length); + } + ::std::result::Result::Ok(request_builder.body(body).expect("valid request").try_into().unwrap()) + } +} +#[derive(Debug)] +struct DescribeIpamExternalResourceVerificationTokensEndpointParamsInterceptor; + +impl ::aws_smithy_runtime_api::client::interceptors::Intercept for DescribeIpamExternalResourceVerificationTokensEndpointParamsInterceptor { + fn name(&self) -> &'static str { + "DescribeIpamExternalResourceVerificationTokensEndpointParamsInterceptor" + } + + fn read_before_execution( + &self, + context: &::aws_smithy_runtime_api::client::interceptors::context::BeforeSerializationInterceptorContextRef< + '_, + ::aws_smithy_runtime_api::client::interceptors::context::Input, + ::aws_smithy_runtime_api::client::interceptors::context::Output, + ::aws_smithy_runtime_api::client::interceptors::context::Error, + >, + cfg: &mut ::aws_smithy_types::config_bag::ConfigBag, + ) -> ::std::result::Result<(), ::aws_smithy_runtime_api::box_error::BoxError> { + let _input = context + .input() + .downcast_ref::() + .ok_or("failed to downcast to DescribeIpamExternalResourceVerificationTokensInput")?; + + let params = crate::config::endpoint::Params::builder() + .set_region(cfg.load::<::aws_types::region::Region>().map(|r| r.as_ref().to_owned())) + .set_use_dual_stack(cfg.load::<::aws_types::endpoint_config::UseDualStack>().map(|ty| ty.0)) + .set_use_fips(cfg.load::<::aws_types::endpoint_config::UseFips>().map(|ty| ty.0)) + .set_endpoint(cfg.load::<::aws_types::endpoint_config::EndpointUrl>().map(|ty| ty.0.clone())) + .build() + .map_err(|err| { + ::aws_smithy_runtime_api::client::interceptors::error::ContextAttachedError::new("endpoint params could not be built", err) + })?; + cfg.interceptor_state() + .store_put(::aws_smithy_runtime_api::client::endpoint::EndpointResolverParams::new(params)); + ::std::result::Result::Ok(()) + } +} + +/// Error type for the `DescribeIpamExternalResourceVerificationTokensError` operation. +#[non_exhaustive] +#[derive(::std::fmt::Debug)] +pub enum DescribeIpamExternalResourceVerificationTokensError { + /// An unexpected error occurred (e.g., invalid JSON returned by the service or an unknown error code). + #[deprecated(note = "Matching `Unhandled` directly is not forwards compatible. Instead, match using a \ + variable wildcard pattern and check `.code()`: + \ +    `err if err.code() == Some(\"SpecificExceptionCode\") => { /* handle the error */ }` + \ + See [`ProvideErrorMetadata`](#impl-ProvideErrorMetadata-for-DescribeIpamExternalResourceVerificationTokensError) for what information is available for the error.")] + Unhandled(crate::error::sealed_unhandled::Unhandled), +} +impl DescribeIpamExternalResourceVerificationTokensError { + /// Creates the `DescribeIpamExternalResourceVerificationTokensError::Unhandled` variant from any error type. + pub fn unhandled( + err: impl ::std::convert::Into<::std::boxed::Box>, + ) -> Self { + Self::Unhandled(crate::error::sealed_unhandled::Unhandled { + source: err.into(), + meta: ::std::default::Default::default(), + }) + } + + /// Creates the `DescribeIpamExternalResourceVerificationTokensError::Unhandled` variant from an [`ErrorMetadata`](::aws_smithy_types::error::ErrorMetadata). + pub fn generic(err: ::aws_smithy_types::error::ErrorMetadata) -> Self { + Self::Unhandled(crate::error::sealed_unhandled::Unhandled { + source: err.clone().into(), + meta: err, + }) + } + /// + /// Returns error metadata, which includes the error code, message, + /// request ID, and potentially additional information. + /// + pub fn meta(&self) -> &::aws_smithy_types::error::ErrorMetadata { + match self { + Self::Unhandled(e) => &e.meta, + } + } +} +impl ::std::error::Error for DescribeIpamExternalResourceVerificationTokensError { + fn source(&self) -> ::std::option::Option<&(dyn ::std::error::Error + 'static)> { + match self { + Self::Unhandled(_inner) => ::std::option::Option::Some(&*_inner.source), + } + } +} +impl ::std::fmt::Display for DescribeIpamExternalResourceVerificationTokensError { + fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result { + match self { + Self::Unhandled(_inner) => { + if let ::std::option::Option::Some(code) = ::aws_smithy_types::error::metadata::ProvideErrorMetadata::code(self) { + write!(f, "unhandled error ({code})") + } else { + f.write_str("unhandled error") + } + } + } + } +} +impl ::aws_smithy_types::retry::ProvideErrorKind for DescribeIpamExternalResourceVerificationTokensError { + fn code(&self) -> ::std::option::Option<&str> { + ::aws_smithy_types::error::metadata::ProvideErrorMetadata::code(self) + } + fn retryable_error_kind(&self) -> ::std::option::Option<::aws_smithy_types::retry::ErrorKind> { + ::std::option::Option::None + } +} +impl ::aws_smithy_types::error::metadata::ProvideErrorMetadata for DescribeIpamExternalResourceVerificationTokensError { + fn meta(&self) -> &::aws_smithy_types::error::ErrorMetadata { + match self { + Self::Unhandled(_inner) => &_inner.meta, + } + } +} +impl ::aws_smithy_runtime_api::client::result::CreateUnhandledError for DescribeIpamExternalResourceVerificationTokensError { + fn create_unhandled_error( + source: ::std::boxed::Box, + meta: ::std::option::Option<::aws_smithy_types::error::ErrorMetadata>, + ) -> Self { + Self::Unhandled(crate::error::sealed_unhandled::Unhandled { + source, + meta: meta.unwrap_or_default(), + }) + } +} +impl ::aws_types::request_id::RequestId + for crate::operation::describe_ipam_external_resource_verification_tokens::DescribeIpamExternalResourceVerificationTokensError +{ + fn request_id(&self) -> Option<&str> { + self.meta().request_id() + } +} + +pub use crate::operation::describe_ipam_external_resource_verification_tokens::_describe_ipam_external_resource_verification_tokens_output::DescribeIpamExternalResourceVerificationTokensOutput; + +pub use crate::operation::describe_ipam_external_resource_verification_tokens::_describe_ipam_external_resource_verification_tokens_input::DescribeIpamExternalResourceVerificationTokensInput; + +mod _describe_ipam_external_resource_verification_tokens_input; + +mod _describe_ipam_external_resource_verification_tokens_output; + +/// Builders +pub mod builders; diff --git a/sdk/ec2/src/operation/describe_ipam_external_resource_verification_tokens/_describe_ipam_external_resource_verification_tokens_input.rs b/sdk/ec2/src/operation/describe_ipam_external_resource_verification_tokens/_describe_ipam_external_resource_verification_tokens_input.rs new file mode 100644 index 000000000000..4f9c7fdc2299 --- /dev/null +++ b/sdk/ec2/src/operation/describe_ipam_external_resource_verification_tokens/_describe_ipam_external_resource_verification_tokens_input.rs @@ -0,0 +1,267 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. +#[allow(missing_docs)] // documentation missing in model +#[non_exhaustive] +#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)] +pub struct DescribeIpamExternalResourceVerificationTokensInput { + ///

A check for whether you have the required permissions for the action without actually making the request and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

+ pub dry_run: ::std::option::Option, + ///

One or more filters for the request. For more information about filtering, see Filtering CLI output.

+ ///

Available filters:

+ ///
    + ///
  • + ///

    ipam-arn

  • + ///
  • + ///

    ipam-external-resource-verification-token-arn

  • + ///
  • + ///

    ipam-external-resource-verification-token-id

  • + ///
  • + ///

    ipam-id

  • + ///
  • + ///

    ipam-region

  • + ///
  • + ///

    state

  • + ///
  • + ///

    status

  • + ///
  • + ///

    token-name

  • + ///
  • + ///

    token-value

  • + ///
+ pub filters: ::std::option::Option<::std::vec::Vec>, + ///

The token for the next page of results.

+ pub next_token: ::std::option::Option<::std::string::String>, + ///

The maximum number of tokens to return in one page of results.

+ pub max_results: ::std::option::Option, + ///

Verification token IDs.

+ pub ipam_external_resource_verification_token_ids: ::std::option::Option<::std::vec::Vec<::std::string::String>>, +} +impl DescribeIpamExternalResourceVerificationTokensInput { + ///

A check for whether you have the required permissions for the action without actually making the request and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

+ pub fn dry_run(&self) -> ::std::option::Option { + self.dry_run + } + ///

One or more filters for the request. For more information about filtering, see Filtering CLI output.

+ ///

Available filters:

+ ///
    + ///
  • + ///

    ipam-arn

  • + ///
  • + ///

    ipam-external-resource-verification-token-arn

  • + ///
  • + ///

    ipam-external-resource-verification-token-id

  • + ///
  • + ///

    ipam-id

  • + ///
  • + ///

    ipam-region

  • + ///
  • + ///

    state

  • + ///
  • + ///

    status

  • + ///
  • + ///

    token-name

  • + ///
  • + ///

    token-value

  • + ///
+ /// + /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.filters.is_none()`. + pub fn filters(&self) -> &[crate::types::Filter] { + self.filters.as_deref().unwrap_or_default() + } + ///

The token for the next page of results.

+ pub fn next_token(&self) -> ::std::option::Option<&str> { + self.next_token.as_deref() + } + ///

The maximum number of tokens to return in one page of results.

+ pub fn max_results(&self) -> ::std::option::Option { + self.max_results + } + ///

Verification token IDs.

+ /// + /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.ipam_external_resource_verification_token_ids.is_none()`. + pub fn ipam_external_resource_verification_token_ids(&self) -> &[::std::string::String] { + self.ipam_external_resource_verification_token_ids.as_deref().unwrap_or_default() + } +} +impl DescribeIpamExternalResourceVerificationTokensInput { + /// Creates a new builder-style object to manufacture [`DescribeIpamExternalResourceVerificationTokensInput`](crate::operation::describe_ipam_external_resource_verification_tokens::DescribeIpamExternalResourceVerificationTokensInput). + pub fn builder( + ) -> crate::operation::describe_ipam_external_resource_verification_tokens::builders::DescribeIpamExternalResourceVerificationTokensInputBuilder + { + crate::operation::describe_ipam_external_resource_verification_tokens::builders::DescribeIpamExternalResourceVerificationTokensInputBuilder::default() + } +} + +/// A builder for [`DescribeIpamExternalResourceVerificationTokensInput`](crate::operation::describe_ipam_external_resource_verification_tokens::DescribeIpamExternalResourceVerificationTokensInput). +#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)] +#[non_exhaustive] +pub struct DescribeIpamExternalResourceVerificationTokensInputBuilder { + pub(crate) dry_run: ::std::option::Option, + pub(crate) filters: ::std::option::Option<::std::vec::Vec>, + pub(crate) next_token: ::std::option::Option<::std::string::String>, + pub(crate) max_results: ::std::option::Option, + pub(crate) ipam_external_resource_verification_token_ids: ::std::option::Option<::std::vec::Vec<::std::string::String>>, +} +impl DescribeIpamExternalResourceVerificationTokensInputBuilder { + ///

A check for whether you have the required permissions for the action without actually making the request and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

+ pub fn dry_run(mut self, input: bool) -> Self { + self.dry_run = ::std::option::Option::Some(input); + self + } + ///

A check for whether you have the required permissions for the action without actually making the request and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

+ pub fn set_dry_run(mut self, input: ::std::option::Option) -> Self { + self.dry_run = input; + self + } + ///

A check for whether you have the required permissions for the action without actually making the request and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

+ pub fn get_dry_run(&self) -> &::std::option::Option { + &self.dry_run + } + /// Appends an item to `filters`. + /// + /// To override the contents of this collection use [`set_filters`](Self::set_filters). + /// + ///

One or more filters for the request. For more information about filtering, see Filtering CLI output.

+ ///

Available filters:

+ ///
    + ///
  • + ///

    ipam-arn

  • + ///
  • + ///

    ipam-external-resource-verification-token-arn

  • + ///
  • + ///

    ipam-external-resource-verification-token-id

  • + ///
  • + ///

    ipam-id

  • + ///
  • + ///

    ipam-region

  • + ///
  • + ///

    state

  • + ///
  • + ///

    status

  • + ///
  • + ///

    token-name

  • + ///
  • + ///

    token-value

  • + ///
+ pub fn filters(mut self, input: crate::types::Filter) -> Self { + let mut v = self.filters.unwrap_or_default(); + v.push(input); + self.filters = ::std::option::Option::Some(v); + self + } + ///

One or more filters for the request. For more information about filtering, see Filtering CLI output.

+ ///

Available filters:

+ ///
    + ///
  • + ///

    ipam-arn

  • + ///
  • + ///

    ipam-external-resource-verification-token-arn

  • + ///
  • + ///

    ipam-external-resource-verification-token-id

  • + ///
  • + ///

    ipam-id

  • + ///
  • + ///

    ipam-region

  • + ///
  • + ///

    state

  • + ///
  • + ///

    status

  • + ///
  • + ///

    token-name

  • + ///
  • + ///

    token-value

  • + ///
+ pub fn set_filters(mut self, input: ::std::option::Option<::std::vec::Vec>) -> Self { + self.filters = input; + self + } + ///

One or more filters for the request. For more information about filtering, see Filtering CLI output.

+ ///

Available filters:

+ ///
    + ///
  • + ///

    ipam-arn

  • + ///
  • + ///

    ipam-external-resource-verification-token-arn

  • + ///
  • + ///

    ipam-external-resource-verification-token-id

  • + ///
  • + ///

    ipam-id

  • + ///
  • + ///

    ipam-region

  • + ///
  • + ///

    state

  • + ///
  • + ///

    status

  • + ///
  • + ///

    token-name

  • + ///
  • + ///

    token-value

  • + ///
+ pub fn get_filters(&self) -> &::std::option::Option<::std::vec::Vec> { + &self.filters + } + ///

The token for the next page of results.

+ pub fn next_token(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self { + self.next_token = ::std::option::Option::Some(input.into()); + self + } + ///

The token for the next page of results.

+ pub fn set_next_token(mut self, input: ::std::option::Option<::std::string::String>) -> Self { + self.next_token = input; + self + } + ///

The token for the next page of results.

+ pub fn get_next_token(&self) -> &::std::option::Option<::std::string::String> { + &self.next_token + } + ///

The maximum number of tokens to return in one page of results.

+ pub fn max_results(mut self, input: i32) -> Self { + self.max_results = ::std::option::Option::Some(input); + self + } + ///

The maximum number of tokens to return in one page of results.

+ pub fn set_max_results(mut self, input: ::std::option::Option) -> Self { + self.max_results = input; + self + } + ///

The maximum number of tokens to return in one page of results.

+ pub fn get_max_results(&self) -> &::std::option::Option { + &self.max_results + } + /// Appends an item to `ipam_external_resource_verification_token_ids`. + /// + /// To override the contents of this collection use [`set_ipam_external_resource_verification_token_ids`](Self::set_ipam_external_resource_verification_token_ids). + /// + ///

Verification token IDs.

+ pub fn ipam_external_resource_verification_token_ids(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self { + let mut v = self.ipam_external_resource_verification_token_ids.unwrap_or_default(); + v.push(input.into()); + self.ipam_external_resource_verification_token_ids = ::std::option::Option::Some(v); + self + } + ///

Verification token IDs.

+ pub fn set_ipam_external_resource_verification_token_ids(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self { + self.ipam_external_resource_verification_token_ids = input; + self + } + ///

Verification token IDs.

+ pub fn get_ipam_external_resource_verification_token_ids(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> { + &self.ipam_external_resource_verification_token_ids + } + /// Consumes the builder and constructs a [`DescribeIpamExternalResourceVerificationTokensInput`](crate::operation::describe_ipam_external_resource_verification_tokens::DescribeIpamExternalResourceVerificationTokensInput). + pub fn build( + self, + ) -> ::std::result::Result< + crate::operation::describe_ipam_external_resource_verification_tokens::DescribeIpamExternalResourceVerificationTokensInput, + ::aws_smithy_types::error::operation::BuildError, + > { + ::std::result::Result::Ok( + crate::operation::describe_ipam_external_resource_verification_tokens::DescribeIpamExternalResourceVerificationTokensInput { + dry_run: self.dry_run, + filters: self.filters, + next_token: self.next_token, + max_results: self.max_results, + ipam_external_resource_verification_token_ids: self.ipam_external_resource_verification_token_ids, + }, + ) + } +} diff --git a/sdk/ec2/src/operation/describe_ipam_external_resource_verification_tokens/_describe_ipam_external_resource_verification_tokens_output.rs b/sdk/ec2/src/operation/describe_ipam_external_resource_verification_tokens/_describe_ipam_external_resource_verification_tokens_output.rs new file mode 100644 index 000000000000..0db935afbdb6 --- /dev/null +++ b/sdk/ec2/src/operation/describe_ipam_external_resource_verification_tokens/_describe_ipam_external_resource_verification_tokens_output.rs @@ -0,0 +1,106 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. +#[allow(missing_docs)] // documentation missing in model +#[non_exhaustive] +#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)] +pub struct DescribeIpamExternalResourceVerificationTokensOutput { + ///

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

+ pub next_token: ::std::option::Option<::std::string::String>, + ///

Verification tokens.

+ pub ipam_external_resource_verification_tokens: ::std::option::Option<::std::vec::Vec>, + _request_id: Option, +} +impl DescribeIpamExternalResourceVerificationTokensOutput { + ///

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

+ pub fn next_token(&self) -> ::std::option::Option<&str> { + self.next_token.as_deref() + } + ///

Verification tokens.

+ /// + /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.ipam_external_resource_verification_tokens.is_none()`. + pub fn ipam_external_resource_verification_tokens(&self) -> &[crate::types::IpamExternalResourceVerificationToken] { + self.ipam_external_resource_verification_tokens.as_deref().unwrap_or_default() + } +} +impl ::aws_types::request_id::RequestId for DescribeIpamExternalResourceVerificationTokensOutput { + fn request_id(&self) -> Option<&str> { + self._request_id.as_deref() + } +} +impl DescribeIpamExternalResourceVerificationTokensOutput { + /// Creates a new builder-style object to manufacture [`DescribeIpamExternalResourceVerificationTokensOutput`](crate::operation::describe_ipam_external_resource_verification_tokens::DescribeIpamExternalResourceVerificationTokensOutput). + pub fn builder( + ) -> crate::operation::describe_ipam_external_resource_verification_tokens::builders::DescribeIpamExternalResourceVerificationTokensOutputBuilder + { + crate::operation::describe_ipam_external_resource_verification_tokens::builders::DescribeIpamExternalResourceVerificationTokensOutputBuilder::default() + } +} + +/// A builder for [`DescribeIpamExternalResourceVerificationTokensOutput`](crate::operation::describe_ipam_external_resource_verification_tokens::DescribeIpamExternalResourceVerificationTokensOutput). +#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)] +#[non_exhaustive] +pub struct DescribeIpamExternalResourceVerificationTokensOutputBuilder { + pub(crate) next_token: ::std::option::Option<::std::string::String>, + pub(crate) ipam_external_resource_verification_tokens: + ::std::option::Option<::std::vec::Vec>, + _request_id: Option, +} +impl DescribeIpamExternalResourceVerificationTokensOutputBuilder { + ///

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

+ pub fn next_token(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self { + self.next_token = ::std::option::Option::Some(input.into()); + self + } + ///

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

+ pub fn set_next_token(mut self, input: ::std::option::Option<::std::string::String>) -> Self { + self.next_token = input; + self + } + ///

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

+ pub fn get_next_token(&self) -> &::std::option::Option<::std::string::String> { + &self.next_token + } + /// Appends an item to `ipam_external_resource_verification_tokens`. + /// + /// To override the contents of this collection use [`set_ipam_external_resource_verification_tokens`](Self::set_ipam_external_resource_verification_tokens). + /// + ///

Verification tokens.

+ pub fn ipam_external_resource_verification_tokens(mut self, input: crate::types::IpamExternalResourceVerificationToken) -> Self { + let mut v = self.ipam_external_resource_verification_tokens.unwrap_or_default(); + v.push(input); + self.ipam_external_resource_verification_tokens = ::std::option::Option::Some(v); + self + } + ///

Verification tokens.

+ pub fn set_ipam_external_resource_verification_tokens( + mut self, + input: ::std::option::Option<::std::vec::Vec>, + ) -> Self { + self.ipam_external_resource_verification_tokens = input; + self + } + ///

Verification tokens.

+ pub fn get_ipam_external_resource_verification_tokens( + &self, + ) -> &::std::option::Option<::std::vec::Vec> { + &self.ipam_external_resource_verification_tokens + } + pub(crate) fn _request_id(mut self, request_id: impl Into) -> Self { + self._request_id = Some(request_id.into()); + self + } + + pub(crate) fn _set_request_id(&mut self, request_id: Option) -> &mut Self { + self._request_id = request_id; + self + } + /// Consumes the builder and constructs a [`DescribeIpamExternalResourceVerificationTokensOutput`](crate::operation::describe_ipam_external_resource_verification_tokens::DescribeIpamExternalResourceVerificationTokensOutput). + pub fn build( + self, + ) -> crate::operation::describe_ipam_external_resource_verification_tokens::DescribeIpamExternalResourceVerificationTokensOutput { + crate::operation::describe_ipam_external_resource_verification_tokens::DescribeIpamExternalResourceVerificationTokensOutput { + next_token: self.next_token, + ipam_external_resource_verification_tokens: self.ipam_external_resource_verification_tokens, + _request_id: self._request_id, + } + } +} diff --git a/sdk/ec2/src/operation/describe_ipam_external_resource_verification_tokens/builders.rs b/sdk/ec2/src/operation/describe_ipam_external_resource_verification_tokens/builders.rs new file mode 100644 index 000000000000..917372145a94 --- /dev/null +++ b/sdk/ec2/src/operation/describe_ipam_external_resource_verification_tokens/builders.rs @@ -0,0 +1,262 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. +pub use crate::operation::describe_ipam_external_resource_verification_tokens::_describe_ipam_external_resource_verification_tokens_output::DescribeIpamExternalResourceVerificationTokensOutputBuilder; + +pub use crate::operation::describe_ipam_external_resource_verification_tokens::_describe_ipam_external_resource_verification_tokens_input::DescribeIpamExternalResourceVerificationTokensInputBuilder; + +impl crate::operation::describe_ipam_external_resource_verification_tokens::builders::DescribeIpamExternalResourceVerificationTokensInputBuilder { + /// Sends a request with this input using the given client. + pub async fn send_with( + self, + client: &crate::Client, + ) -> ::std::result::Result< + crate::operation::describe_ipam_external_resource_verification_tokens::DescribeIpamExternalResourceVerificationTokensOutput, + ::aws_smithy_runtime_api::client::result::SdkError< + crate::operation::describe_ipam_external_resource_verification_tokens::DescribeIpamExternalResourceVerificationTokensError, + ::aws_smithy_runtime_api::client::orchestrator::HttpResponse, + >, + > { + let mut fluent_builder = client.describe_ipam_external_resource_verification_tokens(); + fluent_builder.inner = self; + fluent_builder.send().await + } +} +/// Fluent builder constructing a request to `DescribeIpamExternalResourceVerificationTokens`. +/// +///

Describe verification tokens. A verification token is an Amazon Web Services-generated random value that you can use to prove ownership of an external resource. For example, you can use a verification token to validate that you control a public IP address range when you bring an IP address range to Amazon Web Services (BYOIP).

+#[derive(::std::clone::Clone, ::std::fmt::Debug)] +pub struct DescribeIpamExternalResourceVerificationTokensFluentBuilder { + handle: ::std::sync::Arc, + inner: + crate::operation::describe_ipam_external_resource_verification_tokens::builders::DescribeIpamExternalResourceVerificationTokensInputBuilder, + config_override: ::std::option::Option, +} +impl + crate::client::customize::internal::CustomizableSend< + crate::operation::describe_ipam_external_resource_verification_tokens::DescribeIpamExternalResourceVerificationTokensOutput, + crate::operation::describe_ipam_external_resource_verification_tokens::DescribeIpamExternalResourceVerificationTokensError, + > for DescribeIpamExternalResourceVerificationTokensFluentBuilder +{ + fn send( + self, + config_override: crate::config::Builder, + ) -> crate::client::customize::internal::BoxFuture< + crate::client::customize::internal::SendResult< + crate::operation::describe_ipam_external_resource_verification_tokens::DescribeIpamExternalResourceVerificationTokensOutput, + crate::operation::describe_ipam_external_resource_verification_tokens::DescribeIpamExternalResourceVerificationTokensError, + >, + > { + ::std::boxed::Box::pin(async move { self.config_override(config_override).send().await }) + } +} +impl DescribeIpamExternalResourceVerificationTokensFluentBuilder { + /// Creates a new `DescribeIpamExternalResourceVerificationTokensFluentBuilder`. + pub(crate) fn new(handle: ::std::sync::Arc) -> Self { + Self { + handle, + inner: ::std::default::Default::default(), + config_override: ::std::option::Option::None, + } + } + /// Access the DescribeIpamExternalResourceVerificationTokens as a reference. + pub fn as_input( + &self, + ) -> &crate::operation::describe_ipam_external_resource_verification_tokens::builders::DescribeIpamExternalResourceVerificationTokensInputBuilder + { + &self.inner + } + /// Sends the request and returns the response. + /// + /// If an error occurs, an `SdkError` will be returned with additional details that + /// can be matched against. + /// + /// By default, any retryable failures will be retried twice. Retry behavior + /// is configurable with the [RetryConfig](aws_smithy_types::retry::RetryConfig), which can be + /// set when configuring the client. + pub async fn send( + self, + ) -> ::std::result::Result< + crate::operation::describe_ipam_external_resource_verification_tokens::DescribeIpamExternalResourceVerificationTokensOutput, + ::aws_smithy_runtime_api::client::result::SdkError< + crate::operation::describe_ipam_external_resource_verification_tokens::DescribeIpamExternalResourceVerificationTokensError, + ::aws_smithy_runtime_api::client::orchestrator::HttpResponse, + >, + > { + let input = self + .inner + .build() + .map_err(::aws_smithy_runtime_api::client::result::SdkError::construction_failure)?; + let runtime_plugins = crate::operation::describe_ipam_external_resource_verification_tokens::DescribeIpamExternalResourceVerificationTokens::operation_runtime_plugins( + self.handle.runtime_plugins.clone(), + &self.handle.conf, + self.config_override, + ); + crate::operation::describe_ipam_external_resource_verification_tokens::DescribeIpamExternalResourceVerificationTokens::orchestrate( + &runtime_plugins, + input, + ) + .await + } + + /// Consumes this builder, creating a customizable operation that can be modified before being sent. + pub fn customize( + self, + ) -> crate::client::customize::CustomizableOperation< + crate::operation::describe_ipam_external_resource_verification_tokens::DescribeIpamExternalResourceVerificationTokensOutput, + crate::operation::describe_ipam_external_resource_verification_tokens::DescribeIpamExternalResourceVerificationTokensError, + Self, + > { + crate::client::customize::CustomizableOperation::new(self) + } + pub(crate) fn config_override(mut self, config_override: impl ::std::convert::Into) -> Self { + self.set_config_override(::std::option::Option::Some(config_override.into())); + self + } + + pub(crate) fn set_config_override(&mut self, config_override: ::std::option::Option) -> &mut Self { + self.config_override = config_override; + self + } + ///

A check for whether you have the required permissions for the action without actually making the request and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

+ pub fn dry_run(mut self, input: bool) -> Self { + self.inner = self.inner.dry_run(input); + self + } + ///

A check for whether you have the required permissions for the action without actually making the request and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

+ pub fn set_dry_run(mut self, input: ::std::option::Option) -> Self { + self.inner = self.inner.set_dry_run(input); + self + } + ///

A check for whether you have the required permissions for the action without actually making the request and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

+ pub fn get_dry_run(&self) -> &::std::option::Option { + self.inner.get_dry_run() + } + /// + /// Appends an item to `Filters`. + /// + /// To override the contents of this collection use [`set_filters`](Self::set_filters). + /// + ///

One or more filters for the request. For more information about filtering, see Filtering CLI output.

+ ///

Available filters:

+ ///
    + ///
  • + ///

    ipam-arn

  • + ///
  • + ///

    ipam-external-resource-verification-token-arn

  • + ///
  • + ///

    ipam-external-resource-verification-token-id

  • + ///
  • + ///

    ipam-id

  • + ///
  • + ///

    ipam-region

  • + ///
  • + ///

    state

  • + ///
  • + ///

    status

  • + ///
  • + ///

    token-name

  • + ///
  • + ///

    token-value

  • + ///
+ pub fn filters(mut self, input: crate::types::Filter) -> Self { + self.inner = self.inner.filters(input); + self + } + ///

One or more filters for the request. For more information about filtering, see Filtering CLI output.

+ ///

Available filters:

+ ///
    + ///
  • + ///

    ipam-arn

  • + ///
  • + ///

    ipam-external-resource-verification-token-arn

  • + ///
  • + ///

    ipam-external-resource-verification-token-id

  • + ///
  • + ///

    ipam-id

  • + ///
  • + ///

    ipam-region

  • + ///
  • + ///

    state

  • + ///
  • + ///

    status

  • + ///
  • + ///

    token-name

  • + ///
  • + ///

    token-value

  • + ///
+ pub fn set_filters(mut self, input: ::std::option::Option<::std::vec::Vec>) -> Self { + self.inner = self.inner.set_filters(input); + self + } + ///

One or more filters for the request. For more information about filtering, see Filtering CLI output.

+ ///

Available filters:

+ ///
    + ///
  • + ///

    ipam-arn

  • + ///
  • + ///

    ipam-external-resource-verification-token-arn

  • + ///
  • + ///

    ipam-external-resource-verification-token-id

  • + ///
  • + ///

    ipam-id

  • + ///
  • + ///

    ipam-region

  • + ///
  • + ///

    state

  • + ///
  • + ///

    status

  • + ///
  • + ///

    token-name

  • + ///
  • + ///

    token-value

  • + ///
+ pub fn get_filters(&self) -> &::std::option::Option<::std::vec::Vec> { + self.inner.get_filters() + } + ///

The token for the next page of results.

+ pub fn next_token(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self { + self.inner = self.inner.next_token(input.into()); + self + } + ///

The token for the next page of results.

+ pub fn set_next_token(mut self, input: ::std::option::Option<::std::string::String>) -> Self { + self.inner = self.inner.set_next_token(input); + self + } + ///

The token for the next page of results.

+ pub fn get_next_token(&self) -> &::std::option::Option<::std::string::String> { + self.inner.get_next_token() + } + ///

The maximum number of tokens to return in one page of results.

+ pub fn max_results(mut self, input: i32) -> Self { + self.inner = self.inner.max_results(input); + self + } + ///

The maximum number of tokens to return in one page of results.

+ pub fn set_max_results(mut self, input: ::std::option::Option) -> Self { + self.inner = self.inner.set_max_results(input); + self + } + ///

The maximum number of tokens to return in one page of results.

+ pub fn get_max_results(&self) -> &::std::option::Option { + self.inner.get_max_results() + } + /// + /// Appends an item to `IpamExternalResourceVerificationTokenIds`. + /// + /// To override the contents of this collection use [`set_ipam_external_resource_verification_token_ids`](Self::set_ipam_external_resource_verification_token_ids). + /// + ///

Verification token IDs.

+ pub fn ipam_external_resource_verification_token_ids(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self { + self.inner = self.inner.ipam_external_resource_verification_token_ids(input.into()); + self + } + ///

Verification token IDs.

+ pub fn set_ipam_external_resource_verification_token_ids(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self { + self.inner = self.inner.set_ipam_external_resource_verification_token_ids(input); + self + } + ///

Verification token IDs.

+ pub fn get_ipam_external_resource_verification_token_ids(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> { + self.inner.get_ipam_external_resource_verification_token_ids() + } +} diff --git a/sdk/ec2/src/operation/describe_placement_groups/_describe_placement_groups_input.rs b/sdk/ec2/src/operation/describe_placement_groups/_describe_placement_groups_input.rs index 0e8e7536745e..6415bfe0a52e 100644 --- a/sdk/ec2/src/operation/describe_placement_groups/_describe_placement_groups_input.rs +++ b/sdk/ec2/src/operation/describe_placement_groups/_describe_placement_groups_input.rs @@ -24,7 +24,13 @@ pub struct DescribePlacementGroupsInput { ///

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

pub dry_run: ::std::option::Option, ///

The names of the placement groups.

- ///

Default: Describes all your placement groups, or only those otherwise specified.

+ ///

Constraints:

+ ///
    + ///
  • + ///

    You can specify a name only if the placement group is owned by your account.

  • + ///
  • + ///

    If a placement group is shared with your account, specifying the name results in an error. You must use the GroupId parameter instead.

  • + ///
pub group_names: ::std::option::Option<::std::vec::Vec<::std::string::String>>, ///

The IDs of the placement groups.

pub group_ids: ::std::option::Option<::std::vec::Vec<::std::string::String>>, @@ -57,7 +63,13 @@ impl DescribePlacementGroupsInput { self.dry_run } ///

The names of the placement groups.

- ///

Default: Describes all your placement groups, or only those otherwise specified.

+ ///

Constraints:

+ ///
    + ///
  • + ///

    You can specify a name only if the placement group is owned by your account.

  • + ///
  • + ///

    If a placement group is shared with your account, specifying the name results in an error. You must use the GroupId parameter instead.

  • + ///
/// /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.group_names.is_none()`. pub fn group_names(&self) -> &[::std::string::String] { @@ -174,7 +186,13 @@ impl DescribePlacementGroupsInputBuilder { /// To override the contents of this collection use [`set_group_names`](Self::set_group_names). /// ///

The names of the placement groups.

- ///

Default: Describes all your placement groups, or only those otherwise specified.

+ ///

Constraints:

+ ///
    + ///
  • + ///

    You can specify a name only if the placement group is owned by your account.

  • + ///
  • + ///

    If a placement group is shared with your account, specifying the name results in an error. You must use the GroupId parameter instead.

  • + ///
pub fn group_names(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self { let mut v = self.group_names.unwrap_or_default(); v.push(input.into()); @@ -182,13 +200,25 @@ impl DescribePlacementGroupsInputBuilder { self } ///

The names of the placement groups.

- ///

Default: Describes all your placement groups, or only those otherwise specified.

+ ///

Constraints:

+ ///
    + ///
  • + ///

    You can specify a name only if the placement group is owned by your account.

  • + ///
  • + ///

    If a placement group is shared with your account, specifying the name results in an error. You must use the GroupId parameter instead.

  • + ///
pub fn set_group_names(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self { self.group_names = input; self } ///

The names of the placement groups.

- ///

Default: Describes all your placement groups, or only those otherwise specified.

+ ///

Constraints:

+ ///
    + ///
  • + ///

    You can specify a name only if the placement group is owned by your account.

  • + ///
  • + ///

    If a placement group is shared with your account, specifying the name results in an error. You must use the GroupId parameter instead.

  • + ///
pub fn get_group_names(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> { &self.group_names } diff --git a/sdk/ec2/src/operation/describe_placement_groups/builders.rs b/sdk/ec2/src/operation/describe_placement_groups/builders.rs index ac0676e34e16..77dbccd41b11 100644 --- a/sdk/ec2/src/operation/describe_placement_groups/builders.rs +++ b/sdk/ec2/src/operation/describe_placement_groups/builders.rs @@ -22,7 +22,10 @@ impl crate::operation::describe_placement_groups::builders::DescribePlacementGro } /// Fluent builder constructing a request to `DescribePlacementGroups`. /// -///

Describes the specified placement groups or all of your placement groups. For more information, see Placement groups in the Amazon EC2 User Guide.

+///

Describes the specified placement groups or all of your placement groups.

+///

To describe a specific placement group that is shared with your account, you must specify the ID of the placement group using the GroupId parameter. Specifying the name of a shared placement group using the GroupNames parameter will result in an error.

+///
+///

For more information, see Placement groups in the Amazon EC2 User Guide.

#[derive(::std::clone::Clone, ::std::fmt::Debug)] pub struct DescribePlacementGroupsFluentBuilder { handle: ::std::sync::Arc, @@ -195,19 +198,37 @@ impl DescribePlacementGroupsFluentBuilder { /// To override the contents of this collection use [`set_group_names`](Self::set_group_names). /// ///

The names of the placement groups.

- ///

Default: Describes all your placement groups, or only those otherwise specified.

+ ///

Constraints:

+ ///
    + ///
  • + ///

    You can specify a name only if the placement group is owned by your account.

  • + ///
  • + ///

    If a placement group is shared with your account, specifying the name results in an error. You must use the GroupId parameter instead.

  • + ///
pub fn group_names(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self { self.inner = self.inner.group_names(input.into()); self } ///

The names of the placement groups.

- ///

Default: Describes all your placement groups, or only those otherwise specified.

+ ///

Constraints:

+ ///
    + ///
  • + ///

    You can specify a name only if the placement group is owned by your account.

  • + ///
  • + ///

    If a placement group is shared with your account, specifying the name results in an error. You must use the GroupId parameter instead.

  • + ///
pub fn set_group_names(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self { self.inner = self.inner.set_group_names(input); self } ///

The names of the placement groups.

- ///

Default: Describes all your placement groups, or only those otherwise specified.

+ ///

Constraints:

+ ///
    + ///
  • + ///

    You can specify a name only if the placement group is owned by your account.

  • + ///
  • + ///

    If a placement group is shared with your account, specifying the name results in an error. You must use the GroupId parameter instead.

  • + ///
pub fn get_group_names(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> { self.inner.get_group_names() } diff --git a/sdk/ec2/src/operation/describe_volumes_modifications/builders.rs b/sdk/ec2/src/operation/describe_volumes_modifications/builders.rs index 5936a048a085..a7d10264b796 100644 --- a/sdk/ec2/src/operation/describe_volumes_modifications/builders.rs +++ b/sdk/ec2/src/operation/describe_volumes_modifications/builders.rs @@ -23,7 +23,6 @@ impl crate::operation::describe_volumes_modifications::builders::DescribeVolumes /// Fluent builder constructing a request to `DescribeVolumesModifications`. /// ///

Describes the most recent volume modification request for the specified EBS volumes.

-///

If a volume has never been modified, some information in the output will be null. If a volume has been modified more than once, the output includes only the most recent modification request.

///

For more information, see Monitor the progress of volume modifications in the Amazon EBS User Guide.

#[derive(::std::clone::Clone, ::std::fmt::Debug)] pub struct DescribeVolumesModificationsFluentBuilder { diff --git a/sdk/ec2/src/operation/get_console_output/builders.rs b/sdk/ec2/src/operation/get_console_output/builders.rs index ac5bd9aab991..24ef9f7f596e 100644 --- a/sdk/ec2/src/operation/get_console_output/builders.rs +++ b/sdk/ec2/src/operation/get_console_output/builders.rs @@ -23,8 +23,6 @@ impl crate::operation::get_console_output::builders::GetConsoleOutputInputBuilde /// Fluent builder constructing a request to `GetConsoleOutput`. /// ///

Gets the console output for the specified instance. For Linux instances, the instance console output displays the exact console output that would normally be displayed on a physical monitor attached to a computer. For Windows instances, the instance console output includes the last three system event log errors.

-///

By default, the console output returns buffered information that was posted shortly after an instance transition state (start, stop, reboot, or terminate). This information is available for at least one hour after the most recent post. Only the most recent 64 KB of console output is available.

-///

You can optionally retrieve the latest serial console output at any time during the instance lifecycle. This option is supported on instance types that use the Nitro hypervisor.

///

For more information, see Instance console output in the Amazon EC2 User Guide.

#[derive(::std::clone::Clone, ::std::fmt::Debug)] pub struct GetConsoleOutputFluentBuilder { diff --git a/sdk/ec2/src/operation/provision_ipam_pool_cidr/_provision_ipam_pool_cidr_input.rs b/sdk/ec2/src/operation/provision_ipam_pool_cidr/_provision_ipam_pool_cidr_input.rs index 41e3e81881f1..a3e75d554906 100644 --- a/sdk/ec2/src/operation/provision_ipam_pool_cidr/_provision_ipam_pool_cidr_input.rs +++ b/sdk/ec2/src/operation/provision_ipam_pool_cidr/_provision_ipam_pool_cidr_input.rs @@ -9,12 +9,16 @@ pub struct ProvisionIpamPoolCidrInput { pub ipam_pool_id: ::std::option::Option<::std::string::String>, ///

The CIDR you want to assign to the IPAM pool. Either "NetmaskLength" or "Cidr" is required. This value will be null if you specify "NetmaskLength" and will be filled in during the provisioning process.

pub cidr: ::std::option::Option<::std::string::String>, - ///

A signed document that proves that you are authorized to bring a specified IP address range to Amazon using BYOIP. This option applies to public pools only.

+ ///

A signed document that proves that you are authorized to bring a specified IP address range to Amazon using BYOIP. This option only applies to IPv4 and IPv6 pools in the public scope.

pub cidr_authorization_context: ::std::option::Option, ///

The netmask length of the CIDR you'd like to provision to a pool. Can be used for provisioning Amazon-provided IPv6 CIDRs to top-level pools and for provisioning CIDRs to pools with source pools. Cannot be used to provision BYOIP CIDRs to top-level pools. Either "NetmaskLength" or "Cidr" is required.

pub netmask_length: ::std::option::Option, ///

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring idempotency.

pub client_token: ::std::option::Option<::std::string::String>, + ///

The method for verifying control of a public IP address range. Defaults to remarks-x509 if not specified. This option only applies to IPv4 and IPv6 pools in the public scope.

+ pub verification_method: ::std::option::Option, + ///

Verification token ID. This option only applies to IPv4 and IPv6 pools in the public scope.

+ pub ipam_external_resource_verification_token_id: ::std::option::Option<::std::string::String>, } impl ProvisionIpamPoolCidrInput { ///

A check for whether you have the required permissions for the action without actually making the request and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

@@ -29,7 +33,7 @@ impl ProvisionIpamPoolCidrInput { pub fn cidr(&self) -> ::std::option::Option<&str> { self.cidr.as_deref() } - ///

A signed document that proves that you are authorized to bring a specified IP address range to Amazon using BYOIP. This option applies to public pools only.

+ ///

A signed document that proves that you are authorized to bring a specified IP address range to Amazon using BYOIP. This option only applies to IPv4 and IPv6 pools in the public scope.

pub fn cidr_authorization_context(&self) -> ::std::option::Option<&crate::types::IpamCidrAuthorizationContext> { self.cidr_authorization_context.as_ref() } @@ -41,6 +45,14 @@ impl ProvisionIpamPoolCidrInput { pub fn client_token(&self) -> ::std::option::Option<&str> { self.client_token.as_deref() } + ///

The method for verifying control of a public IP address range. Defaults to remarks-x509 if not specified. This option only applies to IPv4 and IPv6 pools in the public scope.

+ pub fn verification_method(&self) -> ::std::option::Option<&crate::types::VerificationMethod> { + self.verification_method.as_ref() + } + ///

Verification token ID. This option only applies to IPv4 and IPv6 pools in the public scope.

+ pub fn ipam_external_resource_verification_token_id(&self) -> ::std::option::Option<&str> { + self.ipam_external_resource_verification_token_id.as_deref() + } } impl ProvisionIpamPoolCidrInput { /// Creates a new builder-style object to manufacture [`ProvisionIpamPoolCidrInput`](crate::operation::provision_ipam_pool_cidr::ProvisionIpamPoolCidrInput). @@ -59,6 +71,8 @@ pub struct ProvisionIpamPoolCidrInputBuilder { pub(crate) cidr_authorization_context: ::std::option::Option, pub(crate) netmask_length: ::std::option::Option, pub(crate) client_token: ::std::option::Option<::std::string::String>, + pub(crate) verification_method: ::std::option::Option, + pub(crate) ipam_external_resource_verification_token_id: ::std::option::Option<::std::string::String>, } impl ProvisionIpamPoolCidrInputBuilder { ///

A check for whether you have the required permissions for the action without actually making the request and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

@@ -104,17 +118,17 @@ impl ProvisionIpamPoolCidrInputBuilder { pub fn get_cidr(&self) -> &::std::option::Option<::std::string::String> { &self.cidr } - ///

A signed document that proves that you are authorized to bring a specified IP address range to Amazon using BYOIP. This option applies to public pools only.

+ ///

A signed document that proves that you are authorized to bring a specified IP address range to Amazon using BYOIP. This option only applies to IPv4 and IPv6 pools in the public scope.

pub fn cidr_authorization_context(mut self, input: crate::types::IpamCidrAuthorizationContext) -> Self { self.cidr_authorization_context = ::std::option::Option::Some(input); self } - ///

A signed document that proves that you are authorized to bring a specified IP address range to Amazon using BYOIP. This option applies to public pools only.

+ ///

A signed document that proves that you are authorized to bring a specified IP address range to Amazon using BYOIP. This option only applies to IPv4 and IPv6 pools in the public scope.

pub fn set_cidr_authorization_context(mut self, input: ::std::option::Option) -> Self { self.cidr_authorization_context = input; self } - ///

A signed document that proves that you are authorized to bring a specified IP address range to Amazon using BYOIP. This option applies to public pools only.

+ ///

A signed document that proves that you are authorized to bring a specified IP address range to Amazon using BYOIP. This option only applies to IPv4 and IPv6 pools in the public scope.

pub fn get_cidr_authorization_context(&self) -> &::std::option::Option { &self.cidr_authorization_context } @@ -146,6 +160,34 @@ impl ProvisionIpamPoolCidrInputBuilder { pub fn get_client_token(&self) -> &::std::option::Option<::std::string::String> { &self.client_token } + ///

The method for verifying control of a public IP address range. Defaults to remarks-x509 if not specified. This option only applies to IPv4 and IPv6 pools in the public scope.

+ pub fn verification_method(mut self, input: crate::types::VerificationMethod) -> Self { + self.verification_method = ::std::option::Option::Some(input); + self + } + ///

The method for verifying control of a public IP address range. Defaults to remarks-x509 if not specified. This option only applies to IPv4 and IPv6 pools in the public scope.

+ pub fn set_verification_method(mut self, input: ::std::option::Option) -> Self { + self.verification_method = input; + self + } + ///

The method for verifying control of a public IP address range. Defaults to remarks-x509 if not specified. This option only applies to IPv4 and IPv6 pools in the public scope.

+ pub fn get_verification_method(&self) -> &::std::option::Option { + &self.verification_method + } + ///

Verification token ID. This option only applies to IPv4 and IPv6 pools in the public scope.

+ pub fn ipam_external_resource_verification_token_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self { + self.ipam_external_resource_verification_token_id = ::std::option::Option::Some(input.into()); + self + } + ///

Verification token ID. This option only applies to IPv4 and IPv6 pools in the public scope.

+ pub fn set_ipam_external_resource_verification_token_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self { + self.ipam_external_resource_verification_token_id = input; + self + } + ///

Verification token ID. This option only applies to IPv4 and IPv6 pools in the public scope.

+ pub fn get_ipam_external_resource_verification_token_id(&self) -> &::std::option::Option<::std::string::String> { + &self.ipam_external_resource_verification_token_id + } /// Consumes the builder and constructs a [`ProvisionIpamPoolCidrInput`](crate::operation::provision_ipam_pool_cidr::ProvisionIpamPoolCidrInput). pub fn build( self, @@ -158,6 +200,8 @@ impl ProvisionIpamPoolCidrInputBuilder { cidr_authorization_context: self.cidr_authorization_context, netmask_length: self.netmask_length, client_token: self.client_token, + verification_method: self.verification_method, + ipam_external_resource_verification_token_id: self.ipam_external_resource_verification_token_id, }) } } diff --git a/sdk/ec2/src/operation/provision_ipam_pool_cidr/builders.rs b/sdk/ec2/src/operation/provision_ipam_pool_cidr/builders.rs index 9a47ba6adbf9..14a9c884d199 100644 --- a/sdk/ec2/src/operation/provision_ipam_pool_cidr/builders.rs +++ b/sdk/ec2/src/operation/provision_ipam_pool_cidr/builders.rs @@ -151,17 +151,17 @@ impl ProvisionIpamPoolCidrFluentBuilder { pub fn get_cidr(&self) -> &::std::option::Option<::std::string::String> { self.inner.get_cidr() } - ///

A signed document that proves that you are authorized to bring a specified IP address range to Amazon using BYOIP. This option applies to public pools only.

+ ///

A signed document that proves that you are authorized to bring a specified IP address range to Amazon using BYOIP. This option only applies to IPv4 and IPv6 pools in the public scope.

pub fn cidr_authorization_context(mut self, input: crate::types::IpamCidrAuthorizationContext) -> Self { self.inner = self.inner.cidr_authorization_context(input); self } - ///

A signed document that proves that you are authorized to bring a specified IP address range to Amazon using BYOIP. This option applies to public pools only.

+ ///

A signed document that proves that you are authorized to bring a specified IP address range to Amazon using BYOIP. This option only applies to IPv4 and IPv6 pools in the public scope.

pub fn set_cidr_authorization_context(mut self, input: ::std::option::Option) -> Self { self.inner = self.inner.set_cidr_authorization_context(input); self } - ///

A signed document that proves that you are authorized to bring a specified IP address range to Amazon using BYOIP. This option applies to public pools only.

+ ///

A signed document that proves that you are authorized to bring a specified IP address range to Amazon using BYOIP. This option only applies to IPv4 and IPv6 pools in the public scope.

pub fn get_cidr_authorization_context(&self) -> &::std::option::Option { self.inner.get_cidr_authorization_context() } @@ -193,4 +193,32 @@ impl ProvisionIpamPoolCidrFluentBuilder { pub fn get_client_token(&self) -> &::std::option::Option<::std::string::String> { self.inner.get_client_token() } + ///

The method for verifying control of a public IP address range. Defaults to remarks-x509 if not specified. This option only applies to IPv4 and IPv6 pools in the public scope.

+ pub fn verification_method(mut self, input: crate::types::VerificationMethod) -> Self { + self.inner = self.inner.verification_method(input); + self + } + ///

The method for verifying control of a public IP address range. Defaults to remarks-x509 if not specified. This option only applies to IPv4 and IPv6 pools in the public scope.

+ pub fn set_verification_method(mut self, input: ::std::option::Option) -> Self { + self.inner = self.inner.set_verification_method(input); + self + } + ///

The method for verifying control of a public IP address range. Defaults to remarks-x509 if not specified. This option only applies to IPv4 and IPv6 pools in the public scope.

+ pub fn get_verification_method(&self) -> &::std::option::Option { + self.inner.get_verification_method() + } + ///

Verification token ID. This option only applies to IPv4 and IPv6 pools in the public scope.

+ pub fn ipam_external_resource_verification_token_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self { + self.inner = self.inner.ipam_external_resource_verification_token_id(input.into()); + self + } + ///

Verification token ID. This option only applies to IPv4 and IPv6 pools in the public scope.

+ pub fn set_ipam_external_resource_verification_token_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self { + self.inner = self.inner.set_ipam_external_resource_verification_token_id(input); + self + } + ///

Verification token ID. This option only applies to IPv4 and IPv6 pools in the public scope.

+ pub fn get_ipam_external_resource_verification_token_id(&self) -> &::std::option::Option<::std::string::String> { + self.inner.get_ipam_external_resource_verification_token_id() + } } diff --git a/sdk/ec2/src/protocol_serde.rs b/sdk/ec2/src/protocol_serde.rs index 0093289256dd..33ed6497cc18 100644 --- a/sdk/ec2/src/protocol_serde.rs +++ b/sdk/ec2/src/protocol_serde.rs @@ -325,6 +325,10 @@ pub(crate) mod shape_create_internet_gateway_input; pub(crate) mod shape_create_ipam; +pub(crate) mod shape_create_ipam_external_resource_verification_token; + +pub(crate) mod shape_create_ipam_external_resource_verification_token_input; + pub(crate) mod shape_create_ipam_input; pub(crate) mod shape_create_ipam_pool; @@ -629,6 +633,10 @@ pub(crate) mod shape_delete_internet_gateway_input; pub(crate) mod shape_delete_ipam; +pub(crate) mod shape_delete_ipam_external_resource_verification_token; + +pub(crate) mod shape_delete_ipam_external_resource_verification_token_input; + pub(crate) mod shape_delete_ipam_input; pub(crate) mod shape_delete_ipam_pool; @@ -1127,6 +1135,10 @@ pub(crate) mod shape_describe_ipam_byoasn; pub(crate) mod shape_describe_ipam_byoasn_input; +pub(crate) mod shape_describe_ipam_external_resource_verification_tokens; + +pub(crate) mod shape_describe_ipam_external_resource_verification_tokens_input; + pub(crate) mod shape_describe_ipam_pools; pub(crate) mod shape_describe_ipam_pools_input; @@ -3069,6 +3081,10 @@ pub(crate) mod shape_ipam_discovered_public_address_set; pub(crate) mod shape_ipam_discovered_resource_cidr_set; +pub(crate) mod shape_ipam_external_resource_verification_token; + +pub(crate) mod shape_ipam_external_resource_verification_token_set; + pub(crate) mod shape_ipam_pool; pub(crate) mod shape_ipam_pool_allocation; diff --git a/sdk/ec2/src/protocol_serde/shape_create_ipam_external_resource_verification_token.rs b/sdk/ec2/src/protocol_serde/shape_create_ipam_external_resource_verification_token.rs new file mode 100644 index 000000000000..66d044749ba5 --- /dev/null +++ b/sdk/ec2/src/protocol_serde/shape_create_ipam_external_resource_verification_token.rs @@ -0,0 +1,77 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. +#[allow(clippy::unnecessary_wraps)] +pub fn de_create_ipam_external_resource_verification_token_http_error( + _response_status: u16, + _response_headers: &::aws_smithy_runtime_api::http::Headers, + _response_body: &[u8], +) -> std::result::Result< + crate::operation::create_ipam_external_resource_verification_token::CreateIpamExternalResourceVerificationTokenOutput, + crate::operation::create_ipam_external_resource_verification_token::CreateIpamExternalResourceVerificationTokenError, +> { + #[allow(unused_mut)] + let mut generic_builder = crate::protocol_serde::parse_http_error_metadata(_response_status, _response_headers, _response_body) + .map_err(crate::operation::create_ipam_external_resource_verification_token::CreateIpamExternalResourceVerificationTokenError::unhandled)?; + generic_builder = ::aws_types::request_id::apply_request_id(generic_builder, _response_headers); + let generic = generic_builder.build(); + Err(crate::operation::create_ipam_external_resource_verification_token::CreateIpamExternalResourceVerificationTokenError::generic(generic)) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn de_create_ipam_external_resource_verification_token_http_response( + _response_status: u16, + _response_headers: &::aws_smithy_runtime_api::http::Headers, + _response_body: &[u8], +) -> std::result::Result< + crate::operation::create_ipam_external_resource_verification_token::CreateIpamExternalResourceVerificationTokenOutput, + crate::operation::create_ipam_external_resource_verification_token::CreateIpamExternalResourceVerificationTokenError, +> { + Ok({ + #[allow(unused_mut)] + let mut output = crate::operation::create_ipam_external_resource_verification_token::builders::CreateIpamExternalResourceVerificationTokenOutputBuilder::default(); + output = crate::protocol_serde::shape_create_ipam_external_resource_verification_token::de_create_ipam_external_resource_verification_token( + _response_body, + output, + ) + .map_err(crate::operation::create_ipam_external_resource_verification_token::CreateIpamExternalResourceVerificationTokenError::unhandled)?; + output._set_request_id(::aws_types::request_id::RequestId::request_id(_response_headers).map(str::to_string)); + output.build() + }) +} + +#[allow(unused_mut)] +pub fn de_create_ipam_external_resource_verification_token( + inp: &[u8], + mut builder: crate::operation::create_ipam_external_resource_verification_token::builders::CreateIpamExternalResourceVerificationTokenOutputBuilder, +) -> Result< + crate::operation::create_ipam_external_resource_verification_token::builders::CreateIpamExternalResourceVerificationTokenOutputBuilder, + ::aws_smithy_xml::decode::XmlDecodeError, +> { + let mut doc = ::aws_smithy_xml::decode::Document::try_from(inp)?; + + #[allow(unused_mut)] + let mut decoder = doc.root_element()?; + #[allow(unused_variables)] + let start_el = decoder.start_el(); + if !(start_el.matches("CreateIpamExternalResourceVerificationTokenResponse")) { + return Err(::aws_smithy_xml::decode::XmlDecodeError::custom(format!( + "invalid root, expected CreateIpamExternalResourceVerificationTokenResponse got {:?}", + start_el + ))); + } + while let Some(mut tag) = decoder.next_tag() { + match tag.start_el() { + s if s.matches("ipamExternalResourceVerificationToken") /* IpamExternalResourceVerificationToken com.amazonaws.ec2.synthetic#CreateIpamExternalResourceVerificationTokenOutput$IpamExternalResourceVerificationToken */ => { + let var_1 = + Some( + crate::protocol_serde::shape_ipam_external_resource_verification_token::de_ipam_external_resource_verification_token(&mut tag) + ? + ) + ; + builder = builder.set_ipam_external_resource_verification_token(var_1); + } + , + _ => {} + } + } + Ok(builder) +} diff --git a/sdk/ec2/src/protocol_serde/shape_create_ipam_external_resource_verification_token_input.rs b/sdk/ec2/src/protocol_serde/shape_create_ipam_external_resource_verification_token_input.rs new file mode 100644 index 000000000000..5ee365a974fc --- /dev/null +++ b/sdk/ec2/src/protocol_serde/shape_create_ipam_external_resource_verification_token_input.rs @@ -0,0 +1,38 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. +pub fn ser_create_ipam_external_resource_verification_token_input_input_input( + input: &crate::operation::create_ipam_external_resource_verification_token::CreateIpamExternalResourceVerificationTokenInput, +) -> Result<::aws_smithy_types::body::SdkBody, ::aws_smithy_types::error::operation::SerializationError> { + let mut out = String::new(); + #[allow(unused_mut)] + let mut writer = ::aws_smithy_query::QueryWriter::new(&mut out, "CreateIpamExternalResourceVerificationToken", "2016-11-15"); + #[allow(unused_mut)] + let mut scope_1 = writer.prefix("DryRun"); + if let Some(var_2) = &input.dry_run { + scope_1.boolean(*var_2); + } + #[allow(unused_mut)] + let mut scope_3 = writer.prefix("IpamId"); + if let Some(var_4) = &input.ipam_id { + scope_3.string(var_4); + } + #[allow(unused_mut)] + let mut scope_5 = writer.prefix("TagSpecification"); + if let Some(var_6) = &input.tag_specifications { + if !var_6.is_empty() { + let mut list_8 = scope_5.start_list(true, Some("item")); + for item_7 in var_6 { + #[allow(unused_mut)] + let mut entry_9 = list_8.entry(); + crate::protocol_serde::shape_tag_specification::ser_tag_specification(entry_9, item_7)?; + } + list_8.finish(); + } + } + #[allow(unused_mut)] + let mut scope_10 = writer.prefix("ClientToken"); + if let Some(var_11) = &input.client_token { + scope_10.string(var_11); + } + writer.finish(); + Ok(::aws_smithy_types::body::SdkBody::from(out)) +} diff --git a/sdk/ec2/src/protocol_serde/shape_delete_ipam_external_resource_verification_token.rs b/sdk/ec2/src/protocol_serde/shape_delete_ipam_external_resource_verification_token.rs new file mode 100644 index 000000000000..b73e20bc71c7 --- /dev/null +++ b/sdk/ec2/src/protocol_serde/shape_delete_ipam_external_resource_verification_token.rs @@ -0,0 +1,77 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. +#[allow(clippy::unnecessary_wraps)] +pub fn de_delete_ipam_external_resource_verification_token_http_error( + _response_status: u16, + _response_headers: &::aws_smithy_runtime_api::http::Headers, + _response_body: &[u8], +) -> std::result::Result< + crate::operation::delete_ipam_external_resource_verification_token::DeleteIpamExternalResourceVerificationTokenOutput, + crate::operation::delete_ipam_external_resource_verification_token::DeleteIpamExternalResourceVerificationTokenError, +> { + #[allow(unused_mut)] + let mut generic_builder = crate::protocol_serde::parse_http_error_metadata(_response_status, _response_headers, _response_body) + .map_err(crate::operation::delete_ipam_external_resource_verification_token::DeleteIpamExternalResourceVerificationTokenError::unhandled)?; + generic_builder = ::aws_types::request_id::apply_request_id(generic_builder, _response_headers); + let generic = generic_builder.build(); + Err(crate::operation::delete_ipam_external_resource_verification_token::DeleteIpamExternalResourceVerificationTokenError::generic(generic)) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn de_delete_ipam_external_resource_verification_token_http_response( + _response_status: u16, + _response_headers: &::aws_smithy_runtime_api::http::Headers, + _response_body: &[u8], +) -> std::result::Result< + crate::operation::delete_ipam_external_resource_verification_token::DeleteIpamExternalResourceVerificationTokenOutput, + crate::operation::delete_ipam_external_resource_verification_token::DeleteIpamExternalResourceVerificationTokenError, +> { + Ok({ + #[allow(unused_mut)] + let mut output = crate::operation::delete_ipam_external_resource_verification_token::builders::DeleteIpamExternalResourceVerificationTokenOutputBuilder::default(); + output = crate::protocol_serde::shape_delete_ipam_external_resource_verification_token::de_delete_ipam_external_resource_verification_token( + _response_body, + output, + ) + .map_err(crate::operation::delete_ipam_external_resource_verification_token::DeleteIpamExternalResourceVerificationTokenError::unhandled)?; + output._set_request_id(::aws_types::request_id::RequestId::request_id(_response_headers).map(str::to_string)); + output.build() + }) +} + +#[allow(unused_mut)] +pub fn de_delete_ipam_external_resource_verification_token( + inp: &[u8], + mut builder: crate::operation::delete_ipam_external_resource_verification_token::builders::DeleteIpamExternalResourceVerificationTokenOutputBuilder, +) -> Result< + crate::operation::delete_ipam_external_resource_verification_token::builders::DeleteIpamExternalResourceVerificationTokenOutputBuilder, + ::aws_smithy_xml::decode::XmlDecodeError, +> { + let mut doc = ::aws_smithy_xml::decode::Document::try_from(inp)?; + + #[allow(unused_mut)] + let mut decoder = doc.root_element()?; + #[allow(unused_variables)] + let start_el = decoder.start_el(); + if !(start_el.matches("DeleteIpamExternalResourceVerificationTokenResponse")) { + return Err(::aws_smithy_xml::decode::XmlDecodeError::custom(format!( + "invalid root, expected DeleteIpamExternalResourceVerificationTokenResponse got {:?}", + start_el + ))); + } + while let Some(mut tag) = decoder.next_tag() { + match tag.start_el() { + s if s.matches("ipamExternalResourceVerificationToken") /* IpamExternalResourceVerificationToken com.amazonaws.ec2.synthetic#DeleteIpamExternalResourceVerificationTokenOutput$IpamExternalResourceVerificationToken */ => { + let var_1 = + Some( + crate::protocol_serde::shape_ipam_external_resource_verification_token::de_ipam_external_resource_verification_token(&mut tag) + ? + ) + ; + builder = builder.set_ipam_external_resource_verification_token(var_1); + } + , + _ => {} + } + } + Ok(builder) +} diff --git a/sdk/ec2/src/protocol_serde/shape_delete_ipam_external_resource_verification_token_input.rs b/sdk/ec2/src/protocol_serde/shape_delete_ipam_external_resource_verification_token_input.rs new file mode 100644 index 000000000000..991418c20867 --- /dev/null +++ b/sdk/ec2/src/protocol_serde/shape_delete_ipam_external_resource_verification_token_input.rs @@ -0,0 +1,20 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. +pub fn ser_delete_ipam_external_resource_verification_token_input_input_input( + input: &crate::operation::delete_ipam_external_resource_verification_token::DeleteIpamExternalResourceVerificationTokenInput, +) -> Result<::aws_smithy_types::body::SdkBody, ::aws_smithy_types::error::operation::SerializationError> { + let mut out = String::new(); + #[allow(unused_mut)] + let mut writer = ::aws_smithy_query::QueryWriter::new(&mut out, "DeleteIpamExternalResourceVerificationToken", "2016-11-15"); + #[allow(unused_mut)] + let mut scope_1 = writer.prefix("DryRun"); + if let Some(var_2) = &input.dry_run { + scope_1.boolean(*var_2); + } + #[allow(unused_mut)] + let mut scope_3 = writer.prefix("IpamExternalResourceVerificationTokenId"); + if let Some(var_4) = &input.ipam_external_resource_verification_token_id { + scope_3.string(var_4); + } + writer.finish(); + Ok(::aws_smithy_types::body::SdkBody::from(out)) +} diff --git a/sdk/ec2/src/protocol_serde/shape_describe_ipam_external_resource_verification_tokens.rs b/sdk/ec2/src/protocol_serde/shape_describe_ipam_external_resource_verification_tokens.rs new file mode 100644 index 000000000000..496b2fd49513 --- /dev/null +++ b/sdk/ec2/src/protocol_serde/shape_describe_ipam_external_resource_verification_tokens.rs @@ -0,0 +1,94 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. +#[allow(clippy::unnecessary_wraps)] +pub fn de_describe_ipam_external_resource_verification_tokens_http_error( + _response_status: u16, + _response_headers: &::aws_smithy_runtime_api::http::Headers, + _response_body: &[u8], +) -> std::result::Result< + crate::operation::describe_ipam_external_resource_verification_tokens::DescribeIpamExternalResourceVerificationTokensOutput, + crate::operation::describe_ipam_external_resource_verification_tokens::DescribeIpamExternalResourceVerificationTokensError, +> { + #[allow(unused_mut)] + let mut generic_builder = crate::protocol_serde::parse_http_error_metadata(_response_status, _response_headers, _response_body).map_err( + crate::operation::describe_ipam_external_resource_verification_tokens::DescribeIpamExternalResourceVerificationTokensError::unhandled, + )?; + generic_builder = ::aws_types::request_id::apply_request_id(generic_builder, _response_headers); + let generic = generic_builder.build(); + Err(crate::operation::describe_ipam_external_resource_verification_tokens::DescribeIpamExternalResourceVerificationTokensError::generic(generic)) +} + +#[allow(clippy::unnecessary_wraps)] +pub fn de_describe_ipam_external_resource_verification_tokens_http_response( + _response_status: u16, + _response_headers: &::aws_smithy_runtime_api::http::Headers, + _response_body: &[u8], +) -> std::result::Result< + crate::operation::describe_ipam_external_resource_verification_tokens::DescribeIpamExternalResourceVerificationTokensOutput, + crate::operation::describe_ipam_external_resource_verification_tokens::DescribeIpamExternalResourceVerificationTokensError, +> { + Ok({ + #[allow(unused_mut)] + let mut output = crate::operation::describe_ipam_external_resource_verification_tokens::builders::DescribeIpamExternalResourceVerificationTokensOutputBuilder::default(); + output = + crate::protocol_serde::shape_describe_ipam_external_resource_verification_tokens::de_describe_ipam_external_resource_verification_tokens( + _response_body, + output, + ) + .map_err( + crate::operation::describe_ipam_external_resource_verification_tokens::DescribeIpamExternalResourceVerificationTokensError::unhandled, + )?; + output._set_request_id(::aws_types::request_id::RequestId::request_id(_response_headers).map(str::to_string)); + output.build() + }) +} + +#[allow(unused_mut)] +pub fn de_describe_ipam_external_resource_verification_tokens( + inp: &[u8], + mut builder: crate::operation::describe_ipam_external_resource_verification_tokens::builders::DescribeIpamExternalResourceVerificationTokensOutputBuilder, +) -> Result< + crate::operation::describe_ipam_external_resource_verification_tokens::builders::DescribeIpamExternalResourceVerificationTokensOutputBuilder, + ::aws_smithy_xml::decode::XmlDecodeError, +> { + let mut doc = ::aws_smithy_xml::decode::Document::try_from(inp)?; + + #[allow(unused_mut)] + let mut decoder = doc.root_element()?; + #[allow(unused_variables)] + let start_el = decoder.start_el(); + if !(start_el.matches("DescribeIpamExternalResourceVerificationTokensResponse")) { + return Err(::aws_smithy_xml::decode::XmlDecodeError::custom(format!( + "invalid root, expected DescribeIpamExternalResourceVerificationTokensResponse got {:?}", + start_el + ))); + } + while let Some(mut tag) = decoder.next_tag() { + match tag.start_el() { + s if s.matches("nextToken") /* NextToken com.amazonaws.ec2.synthetic#DescribeIpamExternalResourceVerificationTokensOutput$NextToken */ => { + let var_1 = + Some( + Result::<::std::string::String, ::aws_smithy_xml::decode::XmlDecodeError>::Ok( + ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref() + .into() + ) + ? + ) + ; + builder = builder.set_next_token(var_1); + } + , + s if s.matches("ipamExternalResourceVerificationTokenSet") /* IpamExternalResourceVerificationTokens com.amazonaws.ec2.synthetic#DescribeIpamExternalResourceVerificationTokensOutput$IpamExternalResourceVerificationTokens */ => { + let var_2 = + Some( + crate::protocol_serde::shape_ipam_external_resource_verification_token_set::de_ipam_external_resource_verification_token_set(&mut tag) + ? + ) + ; + builder = builder.set_ipam_external_resource_verification_tokens(var_2); + } + , + _ => {} + } + } + Ok(builder) +} diff --git a/sdk/ec2/src/protocol_serde/shape_describe_ipam_external_resource_verification_tokens_input.rs b/sdk/ec2/src/protocol_serde/shape_describe_ipam_external_resource_verification_tokens_input.rs new file mode 100644 index 000000000000..409bb1b06b56 --- /dev/null +++ b/sdk/ec2/src/protocol_serde/shape_describe_ipam_external_resource_verification_tokens_input.rs @@ -0,0 +1,54 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. +pub fn ser_describe_ipam_external_resource_verification_tokens_input_input_input( + input: &crate::operation::describe_ipam_external_resource_verification_tokens::DescribeIpamExternalResourceVerificationTokensInput, +) -> Result<::aws_smithy_types::body::SdkBody, ::aws_smithy_types::error::operation::SerializationError> { + let mut out = String::new(); + #[allow(unused_mut)] + let mut writer = ::aws_smithy_query::QueryWriter::new(&mut out, "DescribeIpamExternalResourceVerificationTokens", "2016-11-15"); + #[allow(unused_mut)] + let mut scope_1 = writer.prefix("DryRun"); + if let Some(var_2) = &input.dry_run { + scope_1.boolean(*var_2); + } + #[allow(unused_mut)] + let mut scope_3 = writer.prefix("Filter"); + if let Some(var_4) = &input.filters { + if !var_4.is_empty() { + let mut list_6 = scope_3.start_list(true, Some("Filter")); + for item_5 in var_4 { + #[allow(unused_mut)] + let mut entry_7 = list_6.entry(); + crate::protocol_serde::shape_filter::ser_filter(entry_7, item_5)?; + } + list_6.finish(); + } + } + #[allow(unused_mut)] + let mut scope_8 = writer.prefix("NextToken"); + if let Some(var_9) = &input.next_token { + scope_8.string(var_9); + } + #[allow(unused_mut)] + let mut scope_10 = writer.prefix("MaxResults"); + if let Some(var_11) = &input.max_results { + scope_10.number( + #[allow(clippy::useless_conversion)] + ::aws_smithy_types::Number::NegInt((*var_11).into()), + ); + } + #[allow(unused_mut)] + let mut scope_12 = writer.prefix("IpamExternalResourceVerificationTokenId"); + if let Some(var_13) = &input.ipam_external_resource_verification_token_ids { + if !var_13.is_empty() { + let mut list_15 = scope_12.start_list(true, Some("item")); + for item_14 in var_13 { + #[allow(unused_mut)] + let mut entry_16 = list_15.entry(); + entry_16.string(item_14); + } + list_15.finish(); + } + } + writer.finish(); + Ok(::aws_smithy_types::body::SdkBody::from(out)) +} diff --git a/sdk/ec2/src/protocol_serde/shape_ipam_external_resource_verification_token.rs b/sdk/ec2/src/protocol_serde/shape_ipam_external_resource_verification_token.rs new file mode 100644 index 000000000000..2a43b63333f7 --- /dev/null +++ b/sdk/ec2/src/protocol_serde/shape_ipam_external_resource_verification_token.rs @@ -0,0 +1,157 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. +#[allow(clippy::needless_question_mark)] +pub fn de_ipam_external_resource_verification_token( + decoder: &mut ::aws_smithy_xml::decode::ScopedDecoder, +) -> Result { + #[allow(unused_mut)] + let mut builder = crate::types::IpamExternalResourceVerificationToken::builder(); + while let Some(mut tag) = decoder.next_tag() { + match tag.start_el() { + s if s.matches("ipamExternalResourceVerificationTokenId") /* IpamExternalResourceVerificationTokenId com.amazonaws.ec2#IpamExternalResourceVerificationToken$IpamExternalResourceVerificationTokenId */ => { + let var_1 = + Some( + Result::<::std::string::String, ::aws_smithy_xml::decode::XmlDecodeError>::Ok( + ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref() + .into() + ) + ? + ) + ; + builder = builder.set_ipam_external_resource_verification_token_id(var_1); + } + , + s if s.matches("ipamExternalResourceVerificationTokenArn") /* IpamExternalResourceVerificationTokenArn com.amazonaws.ec2#IpamExternalResourceVerificationToken$IpamExternalResourceVerificationTokenArn */ => { + let var_2 = + Some( + Result::<::std::string::String, ::aws_smithy_xml::decode::XmlDecodeError>::Ok( + ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref() + .into() + ) + ? + ) + ; + builder = builder.set_ipam_external_resource_verification_token_arn(var_2); + } + , + s if s.matches("ipamId") /* IpamId com.amazonaws.ec2#IpamExternalResourceVerificationToken$IpamId */ => { + let var_3 = + Some( + Result::<::std::string::String, ::aws_smithy_xml::decode::XmlDecodeError>::Ok( + ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref() + .into() + ) + ? + ) + ; + builder = builder.set_ipam_id(var_3); + } + , + s if s.matches("ipamArn") /* IpamArn com.amazonaws.ec2#IpamExternalResourceVerificationToken$IpamArn */ => { + let var_4 = + Some( + Result::<::std::string::String, ::aws_smithy_xml::decode::XmlDecodeError>::Ok( + ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref() + .into() + ) + ? + ) + ; + builder = builder.set_ipam_arn(var_4); + } + , + s if s.matches("ipamRegion") /* IpamRegion com.amazonaws.ec2#IpamExternalResourceVerificationToken$IpamRegion */ => { + let var_5 = + Some( + Result::<::std::string::String, ::aws_smithy_xml::decode::XmlDecodeError>::Ok( + ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref() + .into() + ) + ? + ) + ; + builder = builder.set_ipam_region(var_5); + } + , + s if s.matches("tokenValue") /* TokenValue com.amazonaws.ec2#IpamExternalResourceVerificationToken$TokenValue */ => { + let var_6 = + Some( + Result::<::std::string::String, ::aws_smithy_xml::decode::XmlDecodeError>::Ok( + ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref() + .into() + ) + ? + ) + ; + builder = builder.set_token_value(var_6); + } + , + s if s.matches("tokenName") /* TokenName com.amazonaws.ec2#IpamExternalResourceVerificationToken$TokenName */ => { + let var_7 = + Some( + Result::<::std::string::String, ::aws_smithy_xml::decode::XmlDecodeError>::Ok( + ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref() + .into() + ) + ? + ) + ; + builder = builder.set_token_name(var_7); + } + , + s if s.matches("notAfter") /* NotAfter com.amazonaws.ec2#IpamExternalResourceVerificationToken$NotAfter */ => { + let var_8 = + Some( + ::aws_smithy_types::DateTime::from_str( + ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref() + , ::aws_smithy_types::date_time::Format::DateTimeWithOffset + ) + .map_err(|_|::aws_smithy_xml::decode::XmlDecodeError::custom("expected (timestamp: `com.amazonaws.ec2#MillisecondDateTime`)")) + ? + ) + ; + builder = builder.set_not_after(var_8); + } + , + s if s.matches("status") /* Status com.amazonaws.ec2#IpamExternalResourceVerificationToken$Status */ => { + let var_9 = + Some( + Result::::Ok( + crate::types::TokenState::from( + ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref() + ) + ) + ? + ) + ; + builder = builder.set_status(var_9); + } + , + s if s.matches("tagSet") /* Tags com.amazonaws.ec2#IpamExternalResourceVerificationToken$Tags */ => { + let var_10 = + Some( + crate::protocol_serde::shape_tag_list::de_tag_list(&mut tag) + ? + ) + ; + builder = builder.set_tags(var_10); + } + , + s if s.matches("state") /* State com.amazonaws.ec2#IpamExternalResourceVerificationToken$State */ => { + let var_11 = + Some( + Result::::Ok( + crate::types::IpamExternalResourceVerificationTokenState::from( + ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref() + ) + ) + ? + ) + ; + builder = builder.set_state(var_11); + } + , + _ => {} + } + } + Ok(builder.build()) +} diff --git a/sdk/ec2/src/protocol_serde/shape_ipam_external_resource_verification_token_set.rs b/sdk/ec2/src/protocol_serde/shape_ipam_external_resource_verification_token_set.rs new file mode 100644 index 000000000000..c44927a89fde --- /dev/null +++ b/sdk/ec2/src/protocol_serde/shape_ipam_external_resource_verification_token_set.rs @@ -0,0 +1,19 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. +pub fn de_ipam_external_resource_verification_token_set( + decoder: &mut ::aws_smithy_xml::decode::ScopedDecoder, +) -> Result<::std::vec::Vec, ::aws_smithy_xml::decode::XmlDecodeError> { + let mut out = std::vec::Vec::new(); + while let Some(mut tag) = decoder.next_tag() { + match tag.start_el() { + s if s.matches("item") /* member com.amazonaws.ec2#IpamExternalResourceVerificationTokenSet$member */ => { + out.push( + crate::protocol_serde::shape_ipam_external_resource_verification_token::de_ipam_external_resource_verification_token(&mut tag) + ? + ); + } + , + _ => {} + } + } + Ok(out) +} diff --git a/sdk/ec2/src/protocol_serde/shape_provision_ipam_pool_cidr_input.rs b/sdk/ec2/src/protocol_serde/shape_provision_ipam_pool_cidr_input.rs index 6f0cf4fff951..7b7e1a918b1b 100644 --- a/sdk/ec2/src/protocol_serde/shape_provision_ipam_pool_cidr_input.rs +++ b/sdk/ec2/src/protocol_serde/shape_provision_ipam_pool_cidr_input.rs @@ -38,6 +38,16 @@ pub fn ser_provision_ipam_pool_cidr_input_input_input( if let Some(var_12) = &input.client_token { scope_11.string(var_12); } + #[allow(unused_mut)] + let mut scope_13 = writer.prefix("VerificationMethod"); + if let Some(var_14) = &input.verification_method { + scope_13.string(var_14.as_str()); + } + #[allow(unused_mut)] + let mut scope_15 = writer.prefix("IpamExternalResourceVerificationTokenId"); + if let Some(var_16) = &input.ipam_external_resource_verification_token_id { + scope_15.string(var_16); + } writer.finish(); Ok(::aws_smithy_types::body::SdkBody::from(out)) } diff --git a/sdk/ec2/src/types.rs b/sdk/ec2/src/types.rs index c586147b3050..8dbb439254d3 100644 --- a/sdk/ec2/src/types.rs +++ b/sdk/ec2/src/types.rs @@ -521,6 +521,8 @@ pub use crate::types::_ipam_pool_cidr_failure_code::IpamPoolCidrFailureCode; pub use crate::types::_ipam_pool_cidr_state::IpamPoolCidrState; +pub use crate::types::_verification_method::VerificationMethod; + pub use crate::types::_ipam_cidr_authorization_context::IpamCidrAuthorizationContext; pub use crate::types::_byoasn::Byoasn; @@ -1613,6 +1615,12 @@ pub use crate::types::_ipv6_pool::Ipv6Pool; pub use crate::types::_pool_cidr_block::PoolCidrBlock; +pub use crate::types::_ipam_external_resource_verification_token::IpamExternalResourceVerificationToken; + +pub use crate::types::_ipam_external_resource_verification_token_state::IpamExternalResourceVerificationTokenState; + +pub use crate::types::_token_state::TokenState; + pub use crate::types::_internet_gateway::InternetGateway; pub use crate::types::_internet_gateway_attachment::InternetGatewayAttachment; @@ -3081,6 +3089,10 @@ mod _ipam_discovery_failure_code; mod _ipam_discovery_failure_reason; +mod _ipam_external_resource_verification_token; + +mod _ipam_external_resource_verification_token_state; + mod _ipam_management_state; mod _ipam_network_interface_attachment_status; @@ -3955,6 +3967,8 @@ mod _through_resources_statement_request; mod _tiering_operation_status; +mod _token_state; + mod _total_local_storage_gb; mod _total_local_storage_gb_request; @@ -4143,6 +4157,8 @@ mod _validation_error; mod _validation_warning; +mod _verification_method; + mod _verified_access_endpoint; mod _verified_access_endpoint_attachment_type; diff --git a/sdk/ec2/src/types/_fleet_launch_template_overrides.rs b/sdk/ec2/src/types/_fleet_launch_template_overrides.rs index 6979bb8b8258..7d5350e961f5 100644 --- a/sdk/ec2/src/types/_fleet_launch_template_overrides.rs +++ b/sdk/ec2/src/types/_fleet_launch_template_overrides.rs @@ -17,7 +17,8 @@ pub struct FleetLaunchTemplateOverrides { pub subnet_id: ::std::option::Option<::std::string::String>, ///

The Availability Zone in which to launch the instances.

pub availability_zone: ::std::option::Option<::std::string::String>, - ///

The number of units provided by the specified instance type.

+ ///

The number of units provided by the specified instance type. These are the same units that you chose to set the target capacity in terms of instances, or a performance characteristic such as vCPUs, memory, or I/O.

+ ///

If the target capacity divided by this value is not a whole number, Amazon EC2 rounds the number of instances to the next whole number. If this value is not specified, the default is 1.

///

When specifying weights, the price used in the lowest-price and price-capacity-optimized allocation strategies is per unit hour (where the instance price is divided by the specified weight). However, if all the specified weights are above the requested TargetCapacity, resulting in only 1 instance being launched, the price used is per instance hour.

///
pub weighted_capacity: ::std::option::Option, @@ -57,7 +58,8 @@ impl FleetLaunchTemplateOverrides { pub fn availability_zone(&self) -> ::std::option::Option<&str> { self.availability_zone.as_deref() } - ///

The number of units provided by the specified instance type.

+ ///

The number of units provided by the specified instance type. These are the same units that you chose to set the target capacity in terms of instances, or a performance characteristic such as vCPUs, memory, or I/O.

+ ///

If the target capacity divided by this value is not a whole number, Amazon EC2 rounds the number of instances to the next whole number. If this value is not specified, the default is 1.

///

When specifying weights, the price used in the lowest-price and price-capacity-optimized allocation strategies is per unit hour (where the instance price is divided by the specified weight). However, if all the specified weights are above the requested TargetCapacity, resulting in only 1 instance being launched, the price used is per instance hour.

///
pub fn weighted_capacity(&self) -> ::std::option::Option { @@ -178,21 +180,24 @@ impl FleetLaunchTemplateOverridesBuilder { pub fn get_availability_zone(&self) -> &::std::option::Option<::std::string::String> { &self.availability_zone } - ///

The number of units provided by the specified instance type.

+ ///

The number of units provided by the specified instance type. These are the same units that you chose to set the target capacity in terms of instances, or a performance characteristic such as vCPUs, memory, or I/O.

+ ///

If the target capacity divided by this value is not a whole number, Amazon EC2 rounds the number of instances to the next whole number. If this value is not specified, the default is 1.

///

When specifying weights, the price used in the lowest-price and price-capacity-optimized allocation strategies is per unit hour (where the instance price is divided by the specified weight). However, if all the specified weights are above the requested TargetCapacity, resulting in only 1 instance being launched, the price used is per instance hour.

///
pub fn weighted_capacity(mut self, input: f64) -> Self { self.weighted_capacity = ::std::option::Option::Some(input); self } - ///

The number of units provided by the specified instance type.

+ ///

The number of units provided by the specified instance type. These are the same units that you chose to set the target capacity in terms of instances, or a performance characteristic such as vCPUs, memory, or I/O.

+ ///

If the target capacity divided by this value is not a whole number, Amazon EC2 rounds the number of instances to the next whole number. If this value is not specified, the default is 1.

///

When specifying weights, the price used in the lowest-price and price-capacity-optimized allocation strategies is per unit hour (where the instance price is divided by the specified weight). However, if all the specified weights are above the requested TargetCapacity, resulting in only 1 instance being launched, the price used is per instance hour.

///
pub fn set_weighted_capacity(mut self, input: ::std::option::Option) -> Self { self.weighted_capacity = input; self } - ///

The number of units provided by the specified instance type.

+ ///

The number of units provided by the specified instance type. These are the same units that you chose to set the target capacity in terms of instances, or a performance characteristic such as vCPUs, memory, or I/O.

+ ///

If the target capacity divided by this value is not a whole number, Amazon EC2 rounds the number of instances to the next whole number. If this value is not specified, the default is 1.

///

When specifying weights, the price used in the lowest-price and price-capacity-optimized allocation strategies is per unit hour (where the instance price is divided by the specified weight). However, if all the specified weights are above the requested TargetCapacity, resulting in only 1 instance being launched, the price used is per instance hour.

///
pub fn get_weighted_capacity(&self) -> &::std::option::Option { diff --git a/sdk/ec2/src/types/_fleet_launch_template_overrides_request.rs b/sdk/ec2/src/types/_fleet_launch_template_overrides_request.rs index 5571648468d9..ac6bf66dc040 100644 --- a/sdk/ec2/src/types/_fleet_launch_template_overrides_request.rs +++ b/sdk/ec2/src/types/_fleet_launch_template_overrides_request.rs @@ -17,7 +17,8 @@ pub struct FleetLaunchTemplateOverridesRequest { pub subnet_id: ::std::option::Option<::std::string::String>, ///

The Availability Zone in which to launch the instances.

pub availability_zone: ::std::option::Option<::std::string::String>, - ///

The number of units provided by the specified instance type.

+ ///

The number of units provided by the specified instance type. These are the same units that you chose to set the target capacity in terms of instances, or a performance characteristic such as vCPUs, memory, or I/O.

+ ///

If the target capacity divided by this value is not a whole number, Amazon EC2 rounds the number of instances to the next whole number. If this value is not specified, the default is 1.

///

When specifying weights, the price used in the lowest-price and price-capacity-optimized allocation strategies is per unit hour (where the instance price is divided by the specified weight). However, if all the specified weights are above the requested TargetCapacity, resulting in only 1 instance being launched, the price used is per instance hour.

///
pub weighted_capacity: ::std::option::Option, @@ -57,7 +58,8 @@ impl FleetLaunchTemplateOverridesRequest { pub fn availability_zone(&self) -> ::std::option::Option<&str> { self.availability_zone.as_deref() } - ///

The number of units provided by the specified instance type.

+ ///

The number of units provided by the specified instance type. These are the same units that you chose to set the target capacity in terms of instances, or a performance characteristic such as vCPUs, memory, or I/O.

+ ///

If the target capacity divided by this value is not a whole number, Amazon EC2 rounds the number of instances to the next whole number. If this value is not specified, the default is 1.

///

When specifying weights, the price used in the lowest-price and price-capacity-optimized allocation strategies is per unit hour (where the instance price is divided by the specified weight). However, if all the specified weights are above the requested TargetCapacity, resulting in only 1 instance being launched, the price used is per instance hour.

///
pub fn weighted_capacity(&self) -> ::std::option::Option { @@ -178,21 +180,24 @@ impl FleetLaunchTemplateOverridesRequestBuilder { pub fn get_availability_zone(&self) -> &::std::option::Option<::std::string::String> { &self.availability_zone } - ///

The number of units provided by the specified instance type.

+ ///

The number of units provided by the specified instance type. These are the same units that you chose to set the target capacity in terms of instances, or a performance characteristic such as vCPUs, memory, or I/O.

+ ///

If the target capacity divided by this value is not a whole number, Amazon EC2 rounds the number of instances to the next whole number. If this value is not specified, the default is 1.

///

When specifying weights, the price used in the lowest-price and price-capacity-optimized allocation strategies is per unit hour (where the instance price is divided by the specified weight). However, if all the specified weights are above the requested TargetCapacity, resulting in only 1 instance being launched, the price used is per instance hour.

///
pub fn weighted_capacity(mut self, input: f64) -> Self { self.weighted_capacity = ::std::option::Option::Some(input); self } - ///

The number of units provided by the specified instance type.

+ ///

The number of units provided by the specified instance type. These are the same units that you chose to set the target capacity in terms of instances, or a performance characteristic such as vCPUs, memory, or I/O.

+ ///

If the target capacity divided by this value is not a whole number, Amazon EC2 rounds the number of instances to the next whole number. If this value is not specified, the default is 1.

///

When specifying weights, the price used in the lowest-price and price-capacity-optimized allocation strategies is per unit hour (where the instance price is divided by the specified weight). However, if all the specified weights are above the requested TargetCapacity, resulting in only 1 instance being launched, the price used is per instance hour.

///
pub fn set_weighted_capacity(mut self, input: ::std::option::Option) -> Self { self.weighted_capacity = input; self } - ///

The number of units provided by the specified instance type.

+ ///

The number of units provided by the specified instance type. These are the same units that you chose to set the target capacity in terms of instances, or a performance characteristic such as vCPUs, memory, or I/O.

+ ///

If the target capacity divided by this value is not a whole number, Amazon EC2 rounds the number of instances to the next whole number. If this value is not specified, the default is 1.

///

When specifying weights, the price used in the lowest-price and price-capacity-optimized allocation strategies is per unit hour (where the instance price is divided by the specified weight). However, if all the specified weights are above the requested TargetCapacity, resulting in only 1 instance being launched, the price used is per instance hour.

///
pub fn get_weighted_capacity(&self) -> &::std::option::Option { diff --git a/sdk/ec2/src/types/_ipam_discovered_resource_cidr.rs b/sdk/ec2/src/types/_ipam_discovered_resource_cidr.rs index 211c18a90814..446555331469 100644 --- a/sdk/ec2/src/types/_ipam_discovered_resource_cidr.rs +++ b/sdk/ec2/src/types/_ipam_discovered_resource_cidr.rs @@ -30,7 +30,7 @@ pub struct IpamDiscoveredResourceCidr { pub ip_usage: ::std::option::Option, ///

The VPC ID.

pub vpc_id: ::std::option::Option<::std::string::String>, - ///

For elastic IP addresses, this is the status of an attached network interface.

+ ///

For elastic network interfaces, this is the status of whether or not the elastic network interface is attached.

pub network_interface_attachment_status: ::std::option::Option, ///

The last successful resource discovery time.

pub sample_time: ::std::option::Option<::aws_smithy_types::DateTime>, @@ -84,7 +84,7 @@ impl IpamDiscoveredResourceCidr { pub fn vpc_id(&self) -> ::std::option::Option<&str> { self.vpc_id.as_deref() } - ///

For elastic IP addresses, this is the status of an attached network interface.

+ ///

For elastic network interfaces, this is the status of whether or not the elastic network interface is attached.

pub fn network_interface_attachment_status(&self) -> ::std::option::Option<&crate::types::IpamNetworkInterfaceAttachmentStatus> { self.network_interface_attachment_status.as_ref() } @@ -278,12 +278,12 @@ impl IpamDiscoveredResourceCidrBuilder { pub fn get_vpc_id(&self) -> &::std::option::Option<::std::string::String> { &self.vpc_id } - ///

For elastic IP addresses, this is the status of an attached network interface.

+ ///

For elastic network interfaces, this is the status of whether or not the elastic network interface is attached.

pub fn network_interface_attachment_status(mut self, input: crate::types::IpamNetworkInterfaceAttachmentStatus) -> Self { self.network_interface_attachment_status = ::std::option::Option::Some(input); self } - ///

For elastic IP addresses, this is the status of an attached network interface.

+ ///

For elastic network interfaces, this is the status of whether or not the elastic network interface is attached.

pub fn set_network_interface_attachment_status( mut self, input: ::std::option::Option, @@ -291,7 +291,7 @@ impl IpamDiscoveredResourceCidrBuilder { self.network_interface_attachment_status = input; self } - ///

For elastic IP addresses, this is the status of an attached network interface.

+ ///

For elastic network interfaces, this is the status of whether or not the elastic network interface is attached.

pub fn get_network_interface_attachment_status(&self) -> &::std::option::Option { &self.network_interface_attachment_status } diff --git a/sdk/ec2/src/types/_ipam_external_resource_verification_token.rs b/sdk/ec2/src/types/_ipam_external_resource_verification_token.rs new file mode 100644 index 000000000000..59eba49dd317 --- /dev/null +++ b/sdk/ec2/src/types/_ipam_external_resource_verification_token.rs @@ -0,0 +1,278 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. + +///

A verification token is an Amazon Web Services-generated random value that you can use to prove ownership of an external resource. For example, you can use a verification token to validate that you control a public IP address range when you bring an IP address range to Amazon Web Services (BYOIP).

+#[non_exhaustive] +#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)] +pub struct IpamExternalResourceVerificationToken { + ///

The ID of the token.

+ pub ipam_external_resource_verification_token_id: ::std::option::Option<::std::string::String>, + ///

Token ARN.

+ pub ipam_external_resource_verification_token_arn: ::std::option::Option<::std::string::String>, + ///

The ID of the IPAM that created the token.

+ pub ipam_id: ::std::option::Option<::std::string::String>, + ///

ARN of the IPAM that created the token.

+ pub ipam_arn: ::std::option::Option<::std::string::String>, + ///

Region of the IPAM that created the token.

+ pub ipam_region: ::std::option::Option<::std::string::String>, + ///

Token value.

+ pub token_value: ::std::option::Option<::std::string::String>, + ///

Token name.

+ pub token_name: ::std::option::Option<::std::string::String>, + ///

Token expiration.

+ pub not_after: ::std::option::Option<::aws_smithy_types::DateTime>, + ///

Token status.

+ pub status: ::std::option::Option, + ///

Token tags.

+ pub tags: ::std::option::Option<::std::vec::Vec>, + ///

Token state.

+ pub state: ::std::option::Option, +} +impl IpamExternalResourceVerificationToken { + ///

The ID of the token.

+ pub fn ipam_external_resource_verification_token_id(&self) -> ::std::option::Option<&str> { + self.ipam_external_resource_verification_token_id.as_deref() + } + ///

Token ARN.

+ pub fn ipam_external_resource_verification_token_arn(&self) -> ::std::option::Option<&str> { + self.ipam_external_resource_verification_token_arn.as_deref() + } + ///

The ID of the IPAM that created the token.

+ pub fn ipam_id(&self) -> ::std::option::Option<&str> { + self.ipam_id.as_deref() + } + ///

ARN of the IPAM that created the token.

+ pub fn ipam_arn(&self) -> ::std::option::Option<&str> { + self.ipam_arn.as_deref() + } + ///

Region of the IPAM that created the token.

+ pub fn ipam_region(&self) -> ::std::option::Option<&str> { + self.ipam_region.as_deref() + } + ///

Token value.

+ pub fn token_value(&self) -> ::std::option::Option<&str> { + self.token_value.as_deref() + } + ///

Token name.

+ pub fn token_name(&self) -> ::std::option::Option<&str> { + self.token_name.as_deref() + } + ///

Token expiration.

+ pub fn not_after(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> { + self.not_after.as_ref() + } + ///

Token status.

+ pub fn status(&self) -> ::std::option::Option<&crate::types::TokenState> { + self.status.as_ref() + } + ///

Token tags.

+ /// + /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.tags.is_none()`. + pub fn tags(&self) -> &[crate::types::Tag] { + self.tags.as_deref().unwrap_or_default() + } + ///

Token state.

+ pub fn state(&self) -> ::std::option::Option<&crate::types::IpamExternalResourceVerificationTokenState> { + self.state.as_ref() + } +} +impl IpamExternalResourceVerificationToken { + /// Creates a new builder-style object to manufacture [`IpamExternalResourceVerificationToken`](crate::types::IpamExternalResourceVerificationToken). + pub fn builder() -> crate::types::builders::IpamExternalResourceVerificationTokenBuilder { + crate::types::builders::IpamExternalResourceVerificationTokenBuilder::default() + } +} + +/// A builder for [`IpamExternalResourceVerificationToken`](crate::types::IpamExternalResourceVerificationToken). +#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)] +#[non_exhaustive] +pub struct IpamExternalResourceVerificationTokenBuilder { + pub(crate) ipam_external_resource_verification_token_id: ::std::option::Option<::std::string::String>, + pub(crate) ipam_external_resource_verification_token_arn: ::std::option::Option<::std::string::String>, + pub(crate) ipam_id: ::std::option::Option<::std::string::String>, + pub(crate) ipam_arn: ::std::option::Option<::std::string::String>, + pub(crate) ipam_region: ::std::option::Option<::std::string::String>, + pub(crate) token_value: ::std::option::Option<::std::string::String>, + pub(crate) token_name: ::std::option::Option<::std::string::String>, + pub(crate) not_after: ::std::option::Option<::aws_smithy_types::DateTime>, + pub(crate) status: ::std::option::Option, + pub(crate) tags: ::std::option::Option<::std::vec::Vec>, + pub(crate) state: ::std::option::Option, +} +impl IpamExternalResourceVerificationTokenBuilder { + ///

The ID of the token.

+ pub fn ipam_external_resource_verification_token_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self { + self.ipam_external_resource_verification_token_id = ::std::option::Option::Some(input.into()); + self + } + ///

The ID of the token.

+ pub fn set_ipam_external_resource_verification_token_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self { + self.ipam_external_resource_verification_token_id = input; + self + } + ///

The ID of the token.

+ pub fn get_ipam_external_resource_verification_token_id(&self) -> &::std::option::Option<::std::string::String> { + &self.ipam_external_resource_verification_token_id + } + ///

Token ARN.

+ pub fn ipam_external_resource_verification_token_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self { + self.ipam_external_resource_verification_token_arn = ::std::option::Option::Some(input.into()); + self + } + ///

Token ARN.

+ pub fn set_ipam_external_resource_verification_token_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self { + self.ipam_external_resource_verification_token_arn = input; + self + } + ///

Token ARN.

+ pub fn get_ipam_external_resource_verification_token_arn(&self) -> &::std::option::Option<::std::string::String> { + &self.ipam_external_resource_verification_token_arn + } + ///

The ID of the IPAM that created the token.

+ pub fn ipam_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self { + self.ipam_id = ::std::option::Option::Some(input.into()); + self + } + ///

The ID of the IPAM that created the token.

+ pub fn set_ipam_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self { + self.ipam_id = input; + self + } + ///

The ID of the IPAM that created the token.

+ pub fn get_ipam_id(&self) -> &::std::option::Option<::std::string::String> { + &self.ipam_id + } + ///

ARN of the IPAM that created the token.

+ pub fn ipam_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self { + self.ipam_arn = ::std::option::Option::Some(input.into()); + self + } + ///

ARN of the IPAM that created the token.

+ pub fn set_ipam_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self { + self.ipam_arn = input; + self + } + ///

ARN of the IPAM that created the token.

+ pub fn get_ipam_arn(&self) -> &::std::option::Option<::std::string::String> { + &self.ipam_arn + } + ///

Region of the IPAM that created the token.

+ pub fn ipam_region(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self { + self.ipam_region = ::std::option::Option::Some(input.into()); + self + } + ///

Region of the IPAM that created the token.

+ pub fn set_ipam_region(mut self, input: ::std::option::Option<::std::string::String>) -> Self { + self.ipam_region = input; + self + } + ///

Region of the IPAM that created the token.

+ pub fn get_ipam_region(&self) -> &::std::option::Option<::std::string::String> { + &self.ipam_region + } + ///

Token value.

+ pub fn token_value(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self { + self.token_value = ::std::option::Option::Some(input.into()); + self + } + ///

Token value.

+ pub fn set_token_value(mut self, input: ::std::option::Option<::std::string::String>) -> Self { + self.token_value = input; + self + } + ///

Token value.

+ pub fn get_token_value(&self) -> &::std::option::Option<::std::string::String> { + &self.token_value + } + ///

Token name.

+ pub fn token_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self { + self.token_name = ::std::option::Option::Some(input.into()); + self + } + ///

Token name.

+ pub fn set_token_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self { + self.token_name = input; + self + } + ///

Token name.

+ pub fn get_token_name(&self) -> &::std::option::Option<::std::string::String> { + &self.token_name + } + ///

Token expiration.

+ pub fn not_after(mut self, input: ::aws_smithy_types::DateTime) -> Self { + self.not_after = ::std::option::Option::Some(input); + self + } + ///

Token expiration.

+ pub fn set_not_after(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self { + self.not_after = input; + self + } + ///

Token expiration.

+ pub fn get_not_after(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> { + &self.not_after + } + ///

Token status.

+ pub fn status(mut self, input: crate::types::TokenState) -> Self { + self.status = ::std::option::Option::Some(input); + self + } + ///

Token status.

+ pub fn set_status(mut self, input: ::std::option::Option) -> Self { + self.status = input; + self + } + ///

Token status.

+ pub fn get_status(&self) -> &::std::option::Option { + &self.status + } + /// Appends an item to `tags`. + /// + /// To override the contents of this collection use [`set_tags`](Self::set_tags). + /// + ///

Token tags.

+ pub fn tags(mut self, input: crate::types::Tag) -> Self { + let mut v = self.tags.unwrap_or_default(); + v.push(input); + self.tags = ::std::option::Option::Some(v); + self + } + ///

Token tags.

+ pub fn set_tags(mut self, input: ::std::option::Option<::std::vec::Vec>) -> Self { + self.tags = input; + self + } + ///

Token tags.

+ pub fn get_tags(&self) -> &::std::option::Option<::std::vec::Vec> { + &self.tags + } + ///

Token state.

+ pub fn state(mut self, input: crate::types::IpamExternalResourceVerificationTokenState) -> Self { + self.state = ::std::option::Option::Some(input); + self + } + ///

Token state.

+ pub fn set_state(mut self, input: ::std::option::Option) -> Self { + self.state = input; + self + } + ///

Token state.

+ pub fn get_state(&self) -> &::std::option::Option { + &self.state + } + /// Consumes the builder and constructs a [`IpamExternalResourceVerificationToken`](crate::types::IpamExternalResourceVerificationToken). + pub fn build(self) -> crate::types::IpamExternalResourceVerificationToken { + crate::types::IpamExternalResourceVerificationToken { + ipam_external_resource_verification_token_id: self.ipam_external_resource_verification_token_id, + ipam_external_resource_verification_token_arn: self.ipam_external_resource_verification_token_arn, + ipam_id: self.ipam_id, + ipam_arn: self.ipam_arn, + ipam_region: self.ipam_region, + token_value: self.token_value, + token_name: self.token_name, + not_after: self.not_after, + status: self.status, + tags: self.tags, + state: self.state, + } + } +} diff --git a/sdk/ec2/src/types/_ipam_external_resource_verification_token_state.rs b/sdk/ec2/src/types/_ipam_external_resource_verification_token_state.rs new file mode 100644 index 000000000000..923cac821a6e --- /dev/null +++ b/sdk/ec2/src/types/_ipam_external_resource_verification_token_state.rs @@ -0,0 +1,140 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. + +/// When writing a match expression against `IpamExternalResourceVerificationTokenState`, it is important to ensure +/// your code is forward-compatible. That is, if a match arm handles a case for a +/// feature that is supported by the service but has not been represented as an enum +/// variant in a current version of SDK, your code should continue to work when you +/// upgrade SDK to a future version in which the enum does include a variant for that +/// feature. +/// +/// Here is an example of how you can make a match expression forward-compatible: +/// +/// ```text +/// # let ipamexternalresourceverificationtokenstate = unimplemented!(); +/// match ipamexternalresourceverificationtokenstate { +/// IpamExternalResourceVerificationTokenState::CreateComplete => { /* ... */ }, +/// IpamExternalResourceVerificationTokenState::CreateFailed => { /* ... */ }, +/// IpamExternalResourceVerificationTokenState::CreateInProgress => { /* ... */ }, +/// IpamExternalResourceVerificationTokenState::DeleteComplete => { /* ... */ }, +/// IpamExternalResourceVerificationTokenState::DeleteFailed => { /* ... */ }, +/// IpamExternalResourceVerificationTokenState::DeleteInProgress => { /* ... */ }, +/// other @ _ if other.as_str() == "NewFeature" => { /* handles a case for `NewFeature` */ }, +/// _ => { /* ... */ }, +/// } +/// ``` +/// The above code demonstrates that when `ipamexternalresourceverificationtokenstate` represents +/// `NewFeature`, the execution path will lead to the second last match arm, +/// even though the enum does not contain a variant `IpamExternalResourceVerificationTokenState::NewFeature` +/// in the current version of SDK. The reason is that the variable `other`, +/// created by the `@` operator, is bound to +/// `IpamExternalResourceVerificationTokenState::Unknown(UnknownVariantValue("NewFeature".to_owned()))` +/// and calling `as_str` on it yields `"NewFeature"`. +/// This match expression is forward-compatible when executed with a newer +/// version of SDK where the variant `IpamExternalResourceVerificationTokenState::NewFeature` is defined. +/// Specifically, when `ipamexternalresourceverificationtokenstate` represents `NewFeature`, +/// the execution path will hit the second last match arm as before by virtue of +/// calling `as_str` on `IpamExternalResourceVerificationTokenState::NewFeature` also yielding `"NewFeature"`. +/// +/// Explicitly matching on the `Unknown` variant should +/// be avoided for two reasons: +/// - The inner data `UnknownVariantValue` is opaque, and no further information can be extracted. +/// - It might inadvertently shadow other intended match arms. +#[allow(missing_docs)] // documentation missing in model +#[non_exhaustive] +#[derive( + ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::Ord, ::std::cmp::PartialEq, ::std::cmp::PartialOrd, ::std::fmt::Debug, ::std::hash::Hash, +)] +pub enum IpamExternalResourceVerificationTokenState { + #[allow(missing_docs)] // documentation missing in model + CreateComplete, + #[allow(missing_docs)] // documentation missing in model + CreateFailed, + #[allow(missing_docs)] // documentation missing in model + CreateInProgress, + #[allow(missing_docs)] // documentation missing in model + DeleteComplete, + #[allow(missing_docs)] // documentation missing in model + DeleteFailed, + #[allow(missing_docs)] // documentation missing in model + DeleteInProgress, + /// `Unknown` contains new variants that have been added since this code was generated. + #[deprecated(note = "Don't directly match on `Unknown`. See the docs on this enum for the correct way to handle unknown variants.")] + Unknown(crate::primitives::sealed_enum_unknown::UnknownVariantValue), +} +impl ::std::convert::From<&str> for IpamExternalResourceVerificationTokenState { + fn from(s: &str) -> Self { + match s { + "create-complete" => IpamExternalResourceVerificationTokenState::CreateComplete, + "create-failed" => IpamExternalResourceVerificationTokenState::CreateFailed, + "create-in-progress" => IpamExternalResourceVerificationTokenState::CreateInProgress, + "delete-complete" => IpamExternalResourceVerificationTokenState::DeleteComplete, + "delete-failed" => IpamExternalResourceVerificationTokenState::DeleteFailed, + "delete-in-progress" => IpamExternalResourceVerificationTokenState::DeleteInProgress, + other => { + IpamExternalResourceVerificationTokenState::Unknown(crate::primitives::sealed_enum_unknown::UnknownVariantValue(other.to_owned())) + } + } + } +} +impl ::std::str::FromStr for IpamExternalResourceVerificationTokenState { + type Err = ::std::convert::Infallible; + + fn from_str(s: &str) -> ::std::result::Result::Err> { + ::std::result::Result::Ok(IpamExternalResourceVerificationTokenState::from(s)) + } +} +impl IpamExternalResourceVerificationTokenState { + /// Returns the `&str` value of the enum member. + pub fn as_str(&self) -> &str { + match self { + IpamExternalResourceVerificationTokenState::CreateComplete => "create-complete", + IpamExternalResourceVerificationTokenState::CreateFailed => "create-failed", + IpamExternalResourceVerificationTokenState::CreateInProgress => "create-in-progress", + IpamExternalResourceVerificationTokenState::DeleteComplete => "delete-complete", + IpamExternalResourceVerificationTokenState::DeleteFailed => "delete-failed", + IpamExternalResourceVerificationTokenState::DeleteInProgress => "delete-in-progress", + IpamExternalResourceVerificationTokenState::Unknown(value) => value.as_str(), + } + } + /// Returns all the `&str` representations of the enum members. + pub const fn values() -> &'static [&'static str] { + &[ + "create-complete", + "create-failed", + "create-in-progress", + "delete-complete", + "delete-failed", + "delete-in-progress", + ] + } +} +impl ::std::convert::AsRef for IpamExternalResourceVerificationTokenState { + fn as_ref(&self) -> &str { + self.as_str() + } +} +impl IpamExternalResourceVerificationTokenState { + /// Parses the enum value while disallowing unknown variants. + /// + /// Unknown variants will result in an error. + pub fn try_parse(value: &str) -> ::std::result::Result { + match Self::from(value) { + #[allow(deprecated)] + Self::Unknown(_) => ::std::result::Result::Err(crate::error::UnknownVariantError::new(value)), + known => Ok(known), + } + } +} +impl ::std::fmt::Display for IpamExternalResourceVerificationTokenState { + fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { + match self { + IpamExternalResourceVerificationTokenState::CreateComplete => write!(f, "create-complete"), + IpamExternalResourceVerificationTokenState::CreateFailed => write!(f, "create-failed"), + IpamExternalResourceVerificationTokenState::CreateInProgress => write!(f, "create-in-progress"), + IpamExternalResourceVerificationTokenState::DeleteComplete => write!(f, "delete-complete"), + IpamExternalResourceVerificationTokenState::DeleteFailed => write!(f, "delete-failed"), + IpamExternalResourceVerificationTokenState::DeleteInProgress => write!(f, "delete-in-progress"), + IpamExternalResourceVerificationTokenState::Unknown(value) => write!(f, "{}", value), + } + } +} diff --git a/sdk/ec2/src/types/_ipam_pool.rs b/sdk/ec2/src/types/_ipam_pool.rs index 9ee1caee793a..942fd76c74be 100644 --- a/sdk/ec2/src/types/_ipam_pool.rs +++ b/sdk/ec2/src/types/_ipam_pool.rs @@ -20,7 +20,15 @@ pub struct IpamPool { pub ipam_arn: ::std::option::Option<::std::string::String>, ///

The Amazon Web Services Region of the IPAM pool.

pub ipam_region: ::std::option::Option<::std::string::String>, - ///

The locale of the IPAM pool. In IPAM, the locale is the Amazon Web Services Region or, for IPAM IPv4 pools in the public scope, the network border group for an Amazon Web Services Local Zone where you want to make an IPAM pool available for allocations (supported Local Zones). If you choose an Amazon Web Services Region for locale that has not been configured as an operating Region for the IPAM, you'll get an error.

+ ///

The locale of the IPAM pool.

+ ///

The locale for the pool should be one of the following:

+ ///
    + ///
  • + ///

    An Amazon Web Services Region where you want this IPAM pool to be available for allocations.

  • + ///
  • + ///

    The network border group for an Amazon Web Services Local Zone where you want this IPAM pool to be available for allocations (supported Local Zones). This option is only available for IPAM IPv4 pools in the public scope.

  • + ///
+ ///

If you choose an Amazon Web Services Region for locale that has not been configured as an operating Region for the IPAM, you'll get an error.

pub locale: ::std::option::Option<::std::string::String>, ///

The depth of pools in your IPAM pool. The pool depth quota is 10. For more information, see Quotas in IPAM in the Amazon VPC IPAM User Guide.

pub pool_depth: ::std::option::Option, @@ -87,7 +95,15 @@ impl IpamPool { pub fn ipam_region(&self) -> ::std::option::Option<&str> { self.ipam_region.as_deref() } - ///

The locale of the IPAM pool. In IPAM, the locale is the Amazon Web Services Region or, for IPAM IPv4 pools in the public scope, the network border group for an Amazon Web Services Local Zone where you want to make an IPAM pool available for allocations (supported Local Zones). If you choose an Amazon Web Services Region for locale that has not been configured as an operating Region for the IPAM, you'll get an error.

+ ///

The locale of the IPAM pool.

+ ///

The locale for the pool should be one of the following:

+ ///
    + ///
  • + ///

    An Amazon Web Services Region where you want this IPAM pool to be available for allocations.

  • + ///
  • + ///

    The network border group for an Amazon Web Services Local Zone where you want this IPAM pool to be available for allocations (supported Local Zones). This option is only available for IPAM IPv4 pools in the public scope.

  • + ///
+ ///

If you choose an Amazon Web Services Region for locale that has not been configured as an operating Region for the IPAM, you'll get an error.

pub fn locale(&self) -> ::std::option::Option<&str> { self.locale.as_deref() } @@ -306,17 +322,41 @@ impl IpamPoolBuilder { pub fn get_ipam_region(&self) -> &::std::option::Option<::std::string::String> { &self.ipam_region } - ///

The locale of the IPAM pool. In IPAM, the locale is the Amazon Web Services Region or, for IPAM IPv4 pools in the public scope, the network border group for an Amazon Web Services Local Zone where you want to make an IPAM pool available for allocations (supported Local Zones). If you choose an Amazon Web Services Region for locale that has not been configured as an operating Region for the IPAM, you'll get an error.

+ ///

The locale of the IPAM pool.

+ ///

The locale for the pool should be one of the following:

+ ///
    + ///
  • + ///

    An Amazon Web Services Region where you want this IPAM pool to be available for allocations.

  • + ///
  • + ///

    The network border group for an Amazon Web Services Local Zone where you want this IPAM pool to be available for allocations (supported Local Zones). This option is only available for IPAM IPv4 pools in the public scope.

  • + ///
+ ///

If you choose an Amazon Web Services Region for locale that has not been configured as an operating Region for the IPAM, you'll get an error.

pub fn locale(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self { self.locale = ::std::option::Option::Some(input.into()); self } - ///

The locale of the IPAM pool. In IPAM, the locale is the Amazon Web Services Region or, for IPAM IPv4 pools in the public scope, the network border group for an Amazon Web Services Local Zone where you want to make an IPAM pool available for allocations (supported Local Zones). If you choose an Amazon Web Services Region for locale that has not been configured as an operating Region for the IPAM, you'll get an error.

+ ///

The locale of the IPAM pool.

+ ///

The locale for the pool should be one of the following:

+ ///
    + ///
  • + ///

    An Amazon Web Services Region where you want this IPAM pool to be available for allocations.

  • + ///
  • + ///

    The network border group for an Amazon Web Services Local Zone where you want this IPAM pool to be available for allocations (supported Local Zones). This option is only available for IPAM IPv4 pools in the public scope.

  • + ///
+ ///

If you choose an Amazon Web Services Region for locale that has not been configured as an operating Region for the IPAM, you'll get an error.

pub fn set_locale(mut self, input: ::std::option::Option<::std::string::String>) -> Self { self.locale = input; self } - ///

The locale of the IPAM pool. In IPAM, the locale is the Amazon Web Services Region or, for IPAM IPv4 pools in the public scope, the network border group for an Amazon Web Services Local Zone where you want to make an IPAM pool available for allocations (supported Local Zones). If you choose an Amazon Web Services Region for locale that has not been configured as an operating Region for the IPAM, you'll get an error.

+ ///

The locale of the IPAM pool.

+ ///

The locale for the pool should be one of the following:

+ ///
    + ///
  • + ///

    An Amazon Web Services Region where you want this IPAM pool to be available for allocations.

  • + ///
  • + ///

    The network border group for an Amazon Web Services Local Zone where you want this IPAM pool to be available for allocations (supported Local Zones). This option is only available for IPAM IPv4 pools in the public scope.

  • + ///
+ ///

If you choose an Amazon Web Services Region for locale that has not been configured as an operating Region for the IPAM, you'll get an error.

pub fn get_locale(&self) -> &::std::option::Option<::std::string::String> { &self.locale } diff --git a/sdk/ec2/src/types/_launch_template_overrides.rs b/sdk/ec2/src/types/_launch_template_overrides.rs index d1008ee31de7..2c6ce0d66c93 100644 --- a/sdk/ec2/src/types/_launch_template_overrides.rs +++ b/sdk/ec2/src/types/_launch_template_overrides.rs @@ -14,8 +14,9 @@ pub struct LaunchTemplateOverrides { pub subnet_id: ::std::option::Option<::std::string::String>, ///

The Availability Zone in which to launch the instances.

pub availability_zone: ::std::option::Option<::std::string::String>, - ///

The number of units provided by the specified instance type.

- ///

When specifying weights, the price used in the lowest-price and price-capacity-optimized allocation strategies is per unit hour (where the instance price is divided by the specified weight). However, if all the specified weights are above the requested TargetCapacity, resulting in only 1 instance being launched, the price used is per instance hour.

+ ///

The number of units provided by the specified instance type. These are the same units that you chose to set the target capacity in terms of instances, or a performance characteristic such as vCPUs, memory, or I/O.

+ ///

If the target capacity divided by this value is not a whole number, Amazon EC2 rounds the number of instances to the next whole number. If this value is not specified, the default is 1.

+ ///

When specifying weights, the price used in the lowestPrice and priceCapacityOptimized allocation strategies is per unit hour (where the instance price is divided by the specified weight). However, if all the specified weights are above the requested TargetCapacity, resulting in only 1 instance being launched, the price used is per instance hour.

///
pub weighted_capacity: ::std::option::Option, ///

The priority for the launch template override. The highest priority is launched first.

@@ -47,8 +48,9 @@ impl LaunchTemplateOverrides { pub fn availability_zone(&self) -> ::std::option::Option<&str> { self.availability_zone.as_deref() } - ///

The number of units provided by the specified instance type.

- ///

When specifying weights, the price used in the lowest-price and price-capacity-optimized allocation strategies is per unit hour (where the instance price is divided by the specified weight). However, if all the specified weights are above the requested TargetCapacity, resulting in only 1 instance being launched, the price used is per instance hour.

+ ///

The number of units provided by the specified instance type. These are the same units that you chose to set the target capacity in terms of instances, or a performance characteristic such as vCPUs, memory, or I/O.

+ ///

If the target capacity divided by this value is not a whole number, Amazon EC2 rounds the number of instances to the next whole number. If this value is not specified, the default is 1.

+ ///

When specifying weights, the price used in the lowestPrice and priceCapacityOptimized allocation strategies is per unit hour (where the instance price is divided by the specified weight). However, if all the specified weights are above the requested TargetCapacity, resulting in only 1 instance being launched, the price used is per instance hour.

///
pub fn weighted_capacity(&self) -> ::std::option::Option { self.weighted_capacity @@ -149,22 +151,25 @@ impl LaunchTemplateOverridesBuilder { pub fn get_availability_zone(&self) -> &::std::option::Option<::std::string::String> { &self.availability_zone } - ///

The number of units provided by the specified instance type.

- ///

When specifying weights, the price used in the lowest-price and price-capacity-optimized allocation strategies is per unit hour (where the instance price is divided by the specified weight). However, if all the specified weights are above the requested TargetCapacity, resulting in only 1 instance being launched, the price used is per instance hour.

+ ///

The number of units provided by the specified instance type. These are the same units that you chose to set the target capacity in terms of instances, or a performance characteristic such as vCPUs, memory, or I/O.

+ ///

If the target capacity divided by this value is not a whole number, Amazon EC2 rounds the number of instances to the next whole number. If this value is not specified, the default is 1.

+ ///

When specifying weights, the price used in the lowestPrice and priceCapacityOptimized allocation strategies is per unit hour (where the instance price is divided by the specified weight). However, if all the specified weights are above the requested TargetCapacity, resulting in only 1 instance being launched, the price used is per instance hour.

///
pub fn weighted_capacity(mut self, input: f64) -> Self { self.weighted_capacity = ::std::option::Option::Some(input); self } - ///

The number of units provided by the specified instance type.

- ///

When specifying weights, the price used in the lowest-price and price-capacity-optimized allocation strategies is per unit hour (where the instance price is divided by the specified weight). However, if all the specified weights are above the requested TargetCapacity, resulting in only 1 instance being launched, the price used is per instance hour.

+ ///

The number of units provided by the specified instance type. These are the same units that you chose to set the target capacity in terms of instances, or a performance characteristic such as vCPUs, memory, or I/O.

+ ///

If the target capacity divided by this value is not a whole number, Amazon EC2 rounds the number of instances to the next whole number. If this value is not specified, the default is 1.

+ ///

When specifying weights, the price used in the lowestPrice and priceCapacityOptimized allocation strategies is per unit hour (where the instance price is divided by the specified weight). However, if all the specified weights are above the requested TargetCapacity, resulting in only 1 instance being launched, the price used is per instance hour.

///
pub fn set_weighted_capacity(mut self, input: ::std::option::Option) -> Self { self.weighted_capacity = input; self } - ///

The number of units provided by the specified instance type.

- ///

When specifying weights, the price used in the lowest-price and price-capacity-optimized allocation strategies is per unit hour (where the instance price is divided by the specified weight). However, if all the specified weights are above the requested TargetCapacity, resulting in only 1 instance being launched, the price used is per instance hour.

+ ///

The number of units provided by the specified instance type. These are the same units that you chose to set the target capacity in terms of instances, or a performance characteristic such as vCPUs, memory, or I/O.

+ ///

If the target capacity divided by this value is not a whole number, Amazon EC2 rounds the number of instances to the next whole number. If this value is not specified, the default is 1.

+ ///

When specifying weights, the price used in the lowestPrice and priceCapacityOptimized allocation strategies is per unit hour (where the instance price is divided by the specified weight). However, if all the specified weights are above the requested TargetCapacity, resulting in only 1 instance being launched, the price used is per instance hour.

///
pub fn get_weighted_capacity(&self) -> &::std::option::Option { &self.weighted_capacity diff --git a/sdk/ec2/src/types/_resource_type.rs b/sdk/ec2/src/types/_resource_type.rs index 34c4da32530d..25b950cbb93e 100644 --- a/sdk/ec2/src/types/_resource_type.rs +++ b/sdk/ec2/src/types/_resource_type.rs @@ -36,6 +36,7 @@ /// ResourceType::InstanceEventWindow => { /* ... */ }, /// ResourceType::InternetGateway => { /* ... */ }, /// ResourceType::Ipam => { /* ... */ }, +/// ResourceType::IpamExternalResourceVerificationToken => { /* ... */ }, /// ResourceType::IpamPool => { /* ... */ }, /// ResourceType::IpamResourceDiscovery => { /* ... */ }, /// ResourceType::IpamResourceDiscoveryAssociation => { /* ... */ }, @@ -175,6 +176,8 @@ pub enum ResourceType { #[allow(missing_docs)] // documentation missing in model Ipam, #[allow(missing_docs)] // documentation missing in model + IpamExternalResourceVerificationToken, + #[allow(missing_docs)] // documentation missing in model IpamPool, #[allow(missing_docs)] // documentation missing in model IpamResourceDiscovery, @@ -331,6 +334,7 @@ impl ::std::convert::From<&str> for ResourceType { "instance-event-window" => ResourceType::InstanceEventWindow, "internet-gateway" => ResourceType::InternetGateway, "ipam" => ResourceType::Ipam, + "ipam-external-resource-verification-token" => ResourceType::IpamExternalResourceVerificationToken, "ipam-pool" => ResourceType::IpamPool, "ipam-resource-discovery" => ResourceType::IpamResourceDiscovery, "ipam-resource-discovery-association" => ResourceType::IpamResourceDiscoveryAssociation, @@ -433,6 +437,7 @@ impl ResourceType { ResourceType::InstanceEventWindow => "instance-event-window", ResourceType::InternetGateway => "internet-gateway", ResourceType::Ipam => "ipam", + ResourceType::IpamExternalResourceVerificationToken => "ipam-external-resource-verification-token", ResourceType::IpamPool => "ipam-pool", ResourceType::IpamResourceDiscovery => "ipam-resource-discovery", ResourceType::IpamResourceDiscoveryAssociation => "ipam-resource-discovery-association", @@ -526,6 +531,7 @@ impl ResourceType { "instance-event-window", "internet-gateway", "ipam", + "ipam-external-resource-verification-token", "ipam-pool", "ipam-resource-discovery", "ipam-resource-discovery-association", @@ -636,6 +642,7 @@ impl ::std::fmt::Display for ResourceType { ResourceType::InstanceEventWindow => write!(f, "instance-event-window"), ResourceType::InternetGateway => write!(f, "internet-gateway"), ResourceType::Ipam => write!(f, "ipam"), + ResourceType::IpamExternalResourceVerificationToken => write!(f, "ipam-external-resource-verification-token"), ResourceType::IpamPool => write!(f, "ipam-pool"), ResourceType::IpamResourceDiscovery => write!(f, "ipam-resource-discovery"), ResourceType::IpamResourceDiscoveryAssociation => write!(f, "ipam-resource-discovery-association"), diff --git a/sdk/ec2/src/types/_spot_fleet_launch_specification.rs b/sdk/ec2/src/types/_spot_fleet_launch_specification.rs index 1bf9cb63cc8e..c4515be238da 100644 --- a/sdk/ec2/src/types/_spot_fleet_launch_specification.rs +++ b/sdk/ec2/src/types/_spot_fleet_launch_specification.rs @@ -44,7 +44,9 @@ pub struct SpotFleetLaunchSpecification { ///

The base64-encoded user data that instances use when starting up. User data is limited to 16 KB.

pub user_data: ::std::option::Option<::std::string::String>, ///

The number of units provided by the specified instance type. These are the same units that you chose to set the target capacity in terms of instances, or a performance characteristic such as vCPUs, memory, or I/O.

- ///

If the target capacity divided by this value is not a whole number, Amazon EC2 rounds the number of instances to the next whole number. If this value is not specified, the default is 1.

+ ///

If the target capacity divided by this value is not a whole number, Amazon EC2 rounds the number of instances to the next whole number. If this value is not specified, the default is 1.

+ ///

When specifying weights, the price used in the lowestPrice and priceCapacityOptimized allocation strategies is per unit hour (where the instance price is divided by the specified weight). However, if all the specified weights are above the requested TargetCapacity, resulting in only 1 instance being launched, the price used is per instance hour.

+ ///
pub weighted_capacity: ::std::option::Option, ///

The tags to apply during creation.

pub tag_specifications: ::std::option::Option<::std::vec::Vec>, @@ -132,7 +134,9 @@ impl SpotFleetLaunchSpecification { self.user_data.as_deref() } ///

The number of units provided by the specified instance type. These are the same units that you chose to set the target capacity in terms of instances, or a performance characteristic such as vCPUs, memory, or I/O.

- ///

If the target capacity divided by this value is not a whole number, Amazon EC2 rounds the number of instances to the next whole number. If this value is not specified, the default is 1.

+ ///

If the target capacity divided by this value is not a whole number, Amazon EC2 rounds the number of instances to the next whole number. If this value is not specified, the default is 1.

+ ///

When specifying weights, the price used in the lowestPrice and priceCapacityOptimized allocation strategies is per unit hour (where the instance price is divided by the specified weight). However, if all the specified weights are above the requested TargetCapacity, resulting in only 1 instance being launched, the price used is per instance hour.

+ ///
pub fn weighted_capacity(&self) -> ::std::option::Option { self.weighted_capacity } @@ -473,19 +477,25 @@ impl SpotFleetLaunchSpecificationBuilder { &self.user_data } ///

The number of units provided by the specified instance type. These are the same units that you chose to set the target capacity in terms of instances, or a performance characteristic such as vCPUs, memory, or I/O.

- ///

If the target capacity divided by this value is not a whole number, Amazon EC2 rounds the number of instances to the next whole number. If this value is not specified, the default is 1.

+ ///

If the target capacity divided by this value is not a whole number, Amazon EC2 rounds the number of instances to the next whole number. If this value is not specified, the default is 1.

+ ///

When specifying weights, the price used in the lowestPrice and priceCapacityOptimized allocation strategies is per unit hour (where the instance price is divided by the specified weight). However, if all the specified weights are above the requested TargetCapacity, resulting in only 1 instance being launched, the price used is per instance hour.

+ ///
pub fn weighted_capacity(mut self, input: f64) -> Self { self.weighted_capacity = ::std::option::Option::Some(input); self } ///

The number of units provided by the specified instance type. These are the same units that you chose to set the target capacity in terms of instances, or a performance characteristic such as vCPUs, memory, or I/O.

- ///

If the target capacity divided by this value is not a whole number, Amazon EC2 rounds the number of instances to the next whole number. If this value is not specified, the default is 1.

+ ///

If the target capacity divided by this value is not a whole number, Amazon EC2 rounds the number of instances to the next whole number. If this value is not specified, the default is 1.

+ ///

When specifying weights, the price used in the lowestPrice and priceCapacityOptimized allocation strategies is per unit hour (where the instance price is divided by the specified weight). However, if all the specified weights are above the requested TargetCapacity, resulting in only 1 instance being launched, the price used is per instance hour.

+ ///
pub fn set_weighted_capacity(mut self, input: ::std::option::Option) -> Self { self.weighted_capacity = input; self } ///

The number of units provided by the specified instance type. These are the same units that you chose to set the target capacity in terms of instances, or a performance characteristic such as vCPUs, memory, or I/O.

- ///

If the target capacity divided by this value is not a whole number, Amazon EC2 rounds the number of instances to the next whole number. If this value is not specified, the default is 1.

+ ///

If the target capacity divided by this value is not a whole number, Amazon EC2 rounds the number of instances to the next whole number. If this value is not specified, the default is 1.

+ ///

When specifying weights, the price used in the lowestPrice and priceCapacityOptimized allocation strategies is per unit hour (where the instance price is divided by the specified weight). However, if all the specified weights are above the requested TargetCapacity, resulting in only 1 instance being launched, the price used is per instance hour.

+ ///
pub fn get_weighted_capacity(&self) -> &::std::option::Option { &self.weighted_capacity } diff --git a/sdk/ec2/src/types/_token_state.rs b/sdk/ec2/src/types/_token_state.rs new file mode 100644 index 000000000000..6986d22f37fa --- /dev/null +++ b/sdk/ec2/src/types/_token_state.rs @@ -0,0 +1,107 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. + +/// When writing a match expression against `TokenState`, it is important to ensure +/// your code is forward-compatible. That is, if a match arm handles a case for a +/// feature that is supported by the service but has not been represented as an enum +/// variant in a current version of SDK, your code should continue to work when you +/// upgrade SDK to a future version in which the enum does include a variant for that +/// feature. +/// +/// Here is an example of how you can make a match expression forward-compatible: +/// +/// ```text +/// # let tokenstate = unimplemented!(); +/// match tokenstate { +/// TokenState::Expired => { /* ... */ }, +/// TokenState::Valid => { /* ... */ }, +/// other @ _ if other.as_str() == "NewFeature" => { /* handles a case for `NewFeature` */ }, +/// _ => { /* ... */ }, +/// } +/// ``` +/// The above code demonstrates that when `tokenstate` represents +/// `NewFeature`, the execution path will lead to the second last match arm, +/// even though the enum does not contain a variant `TokenState::NewFeature` +/// in the current version of SDK. The reason is that the variable `other`, +/// created by the `@` operator, is bound to +/// `TokenState::Unknown(UnknownVariantValue("NewFeature".to_owned()))` +/// and calling `as_str` on it yields `"NewFeature"`. +/// This match expression is forward-compatible when executed with a newer +/// version of SDK where the variant `TokenState::NewFeature` is defined. +/// Specifically, when `tokenstate` represents `NewFeature`, +/// the execution path will hit the second last match arm as before by virtue of +/// calling `as_str` on `TokenState::NewFeature` also yielding `"NewFeature"`. +/// +/// Explicitly matching on the `Unknown` variant should +/// be avoided for two reasons: +/// - The inner data `UnknownVariantValue` is opaque, and no further information can be extracted. +/// - It might inadvertently shadow other intended match arms. +#[allow(missing_docs)] // documentation missing in model +#[non_exhaustive] +#[derive( + ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::Ord, ::std::cmp::PartialEq, ::std::cmp::PartialOrd, ::std::fmt::Debug, ::std::hash::Hash, +)] +pub enum TokenState { + #[allow(missing_docs)] // documentation missing in model + Expired, + #[allow(missing_docs)] // documentation missing in model + Valid, + /// `Unknown` contains new variants that have been added since this code was generated. + #[deprecated(note = "Don't directly match on `Unknown`. See the docs on this enum for the correct way to handle unknown variants.")] + Unknown(crate::primitives::sealed_enum_unknown::UnknownVariantValue), +} +impl ::std::convert::From<&str> for TokenState { + fn from(s: &str) -> Self { + match s { + "expired" => TokenState::Expired, + "valid" => TokenState::Valid, + other => TokenState::Unknown(crate::primitives::sealed_enum_unknown::UnknownVariantValue(other.to_owned())), + } + } +} +impl ::std::str::FromStr for TokenState { + type Err = ::std::convert::Infallible; + + fn from_str(s: &str) -> ::std::result::Result::Err> { + ::std::result::Result::Ok(TokenState::from(s)) + } +} +impl TokenState { + /// Returns the `&str` value of the enum member. + pub fn as_str(&self) -> &str { + match self { + TokenState::Expired => "expired", + TokenState::Valid => "valid", + TokenState::Unknown(value) => value.as_str(), + } + } + /// Returns all the `&str` representations of the enum members. + pub const fn values() -> &'static [&'static str] { + &["expired", "valid"] + } +} +impl ::std::convert::AsRef for TokenState { + fn as_ref(&self) -> &str { + self.as_str() + } +} +impl TokenState { + /// Parses the enum value while disallowing unknown variants. + /// + /// Unknown variants will result in an error. + pub fn try_parse(value: &str) -> ::std::result::Result { + match Self::from(value) { + #[allow(deprecated)] + Self::Unknown(_) => ::std::result::Result::Err(crate::error::UnknownVariantError::new(value)), + known => Ok(known), + } + } +} +impl ::std::fmt::Display for TokenState { + fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { + match self { + TokenState::Expired => write!(f, "expired"), + TokenState::Valid => write!(f, "valid"), + TokenState::Unknown(value) => write!(f, "{}", value), + } + } +} diff --git a/sdk/ec2/src/types/_verification_method.rs b/sdk/ec2/src/types/_verification_method.rs new file mode 100644 index 000000000000..3f46874ffa4e --- /dev/null +++ b/sdk/ec2/src/types/_verification_method.rs @@ -0,0 +1,107 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. + +/// When writing a match expression against `VerificationMethod`, it is important to ensure +/// your code is forward-compatible. That is, if a match arm handles a case for a +/// feature that is supported by the service but has not been represented as an enum +/// variant in a current version of SDK, your code should continue to work when you +/// upgrade SDK to a future version in which the enum does include a variant for that +/// feature. +/// +/// Here is an example of how you can make a match expression forward-compatible: +/// +/// ```text +/// # let verificationmethod = unimplemented!(); +/// match verificationmethod { +/// VerificationMethod::DnsToken => { /* ... */ }, +/// VerificationMethod::RemarksX509 => { /* ... */ }, +/// other @ _ if other.as_str() == "NewFeature" => { /* handles a case for `NewFeature` */ }, +/// _ => { /* ... */ }, +/// } +/// ``` +/// The above code demonstrates that when `verificationmethod` represents +/// `NewFeature`, the execution path will lead to the second last match arm, +/// even though the enum does not contain a variant `VerificationMethod::NewFeature` +/// in the current version of SDK. The reason is that the variable `other`, +/// created by the `@` operator, is bound to +/// `VerificationMethod::Unknown(UnknownVariantValue("NewFeature".to_owned()))` +/// and calling `as_str` on it yields `"NewFeature"`. +/// This match expression is forward-compatible when executed with a newer +/// version of SDK where the variant `VerificationMethod::NewFeature` is defined. +/// Specifically, when `verificationmethod` represents `NewFeature`, +/// the execution path will hit the second last match arm as before by virtue of +/// calling `as_str` on `VerificationMethod::NewFeature` also yielding `"NewFeature"`. +/// +/// Explicitly matching on the `Unknown` variant should +/// be avoided for two reasons: +/// - The inner data `UnknownVariantValue` is opaque, and no further information can be extracted. +/// - It might inadvertently shadow other intended match arms. +#[allow(missing_docs)] // documentation missing in model +#[non_exhaustive] +#[derive( + ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::Ord, ::std::cmp::PartialEq, ::std::cmp::PartialOrd, ::std::fmt::Debug, ::std::hash::Hash, +)] +pub enum VerificationMethod { + #[allow(missing_docs)] // documentation missing in model + DnsToken, + #[allow(missing_docs)] // documentation missing in model + RemarksX509, + /// `Unknown` contains new variants that have been added since this code was generated. + #[deprecated(note = "Don't directly match on `Unknown`. See the docs on this enum for the correct way to handle unknown variants.")] + Unknown(crate::primitives::sealed_enum_unknown::UnknownVariantValue), +} +impl ::std::convert::From<&str> for VerificationMethod { + fn from(s: &str) -> Self { + match s { + "dns-token" => VerificationMethod::DnsToken, + "remarks-x509" => VerificationMethod::RemarksX509, + other => VerificationMethod::Unknown(crate::primitives::sealed_enum_unknown::UnknownVariantValue(other.to_owned())), + } + } +} +impl ::std::str::FromStr for VerificationMethod { + type Err = ::std::convert::Infallible; + + fn from_str(s: &str) -> ::std::result::Result::Err> { + ::std::result::Result::Ok(VerificationMethod::from(s)) + } +} +impl VerificationMethod { + /// Returns the `&str` value of the enum member. + pub fn as_str(&self) -> &str { + match self { + VerificationMethod::DnsToken => "dns-token", + VerificationMethod::RemarksX509 => "remarks-x509", + VerificationMethod::Unknown(value) => value.as_str(), + } + } + /// Returns all the `&str` representations of the enum members. + pub const fn values() -> &'static [&'static str] { + &["dns-token", "remarks-x509"] + } +} +impl ::std::convert::AsRef for VerificationMethod { + fn as_ref(&self) -> &str { + self.as_str() + } +} +impl VerificationMethod { + /// Parses the enum value while disallowing unknown variants. + /// + /// Unknown variants will result in an error. + pub fn try_parse(value: &str) -> ::std::result::Result { + match Self::from(value) { + #[allow(deprecated)] + Self::Unknown(_) => ::std::result::Result::Err(crate::error::UnknownVariantError::new(value)), + known => Ok(known), + } + } +} +impl ::std::fmt::Display for VerificationMethod { + fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { + match self { + VerificationMethod::DnsToken => write!(f, "dns-token"), + VerificationMethod::RemarksX509 => write!(f, "remarks-x509"), + VerificationMethod::Unknown(value) => write!(f, "{}", value), + } + } +} diff --git a/sdk/ec2/src/types/_volume_modification.rs b/sdk/ec2/src/types/_volume_modification.rs index fb08155f1d2f..d4ecba57a31e 100644 --- a/sdk/ec2/src/types/_volume_modification.rs +++ b/sdk/ec2/src/types/_volume_modification.rs @@ -1,13 +1,12 @@ // Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. ///

Describes the modification status of an EBS volume.

-///

If the volume has never been modified, some element values will be null.

#[non_exhaustive] #[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)] pub struct VolumeModification { ///

The ID of the volume.

pub volume_id: ::std::option::Option<::std::string::String>, - ///

The current modification state. The modification state is null for unmodified volumes.

+ ///

The current modification state.

pub modification_state: ::std::option::Option, ///

A status message about the modification progress or failure.

pub status_message: ::std::option::Option<::std::string::String>, @@ -43,7 +42,7 @@ impl VolumeModification { pub fn volume_id(&self) -> ::std::option::Option<&str> { self.volume_id.as_deref() } - ///

The current modification state. The modification state is null for unmodified volumes.

+ ///

The current modification state.

pub fn modification_state(&self) -> ::std::option::Option<&crate::types::VolumeModificationState> { self.modification_state.as_ref() } @@ -147,17 +146,17 @@ impl VolumeModificationBuilder { pub fn get_volume_id(&self) -> &::std::option::Option<::std::string::String> { &self.volume_id } - ///

The current modification state. The modification state is null for unmodified volumes.

+ ///

The current modification state.

pub fn modification_state(mut self, input: crate::types::VolumeModificationState) -> Self { self.modification_state = ::std::option::Option::Some(input); self } - ///

The current modification state. The modification state is null for unmodified volumes.

+ ///

The current modification state.

pub fn set_modification_state(mut self, input: ::std::option::Option) -> Self { self.modification_state = input; self } - ///

The current modification state. The modification state is null for unmodified volumes.

+ ///

The current modification state.

pub fn get_modification_state(&self) -> &::std::option::Option { &self.modification_state } diff --git a/sdk/ec2/src/types/builders.rs b/sdk/ec2/src/types/builders.rs index d4972438f9f7..542ba51506bf 100644 --- a/sdk/ec2/src/types/builders.rs +++ b/sdk/ec2/src/types/builders.rs @@ -1089,6 +1089,8 @@ pub use crate::types::_ipv6_pool::Ipv6PoolBuilder; pub use crate::types::_pool_cidr_block::PoolCidrBlockBuilder; +pub use crate::types::_ipam_external_resource_verification_token::IpamExternalResourceVerificationTokenBuilder; + pub use crate::types::_internet_gateway::InternetGatewayBuilder; pub use crate::types::_internet_gateway_attachment::InternetGatewayAttachmentBuilder; diff --git a/sdk/firehose/Cargo.toml b/sdk/firehose/Cargo.toml index 9d5aa8e283ea..24f7d4af813a 100644 --- a/sdk/firehose/Cargo.toml +++ b/sdk/firehose/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-firehose" -version = "1.39.0" +version = "1.40.0" authors = ["AWS Rust SDK Team ", "Russell Cohen "] description = "AWS SDK for Amazon Kinesis Firehose" edition = "2021" diff --git a/sdk/firehose/README.md b/sdk/firehose/README.md index 0c7b91dc817a..61e8fa357753 100644 --- a/sdk/firehose/README.md +++ b/sdk/firehose/README.md @@ -14,7 +14,7 @@ your project, add the following to your **Cargo.toml** file: ```toml [dependencies] aws-config = { version = "1.1.7", features = ["behavior-version-latest"] } -aws-sdk-firehose = "1.39.0" +aws-sdk-firehose = "1.40.0" tokio = { version = "1", features = ["full"] } ``` diff --git a/sdk/firehose/src/client/create_delivery_stream.rs b/sdk/firehose/src/client/create_delivery_stream.rs index c214042466aa..60026690a281 100644 --- a/sdk/firehose/src/client/create_delivery_stream.rs +++ b/sdk/firehose/src/client/create_delivery_stream.rs @@ -18,6 +18,7 @@ impl super::Client { /// - [`amazon_open_search_serverless_destination_configuration(AmazonOpenSearchServerlessDestinationConfiguration)`](crate::operation::create_delivery_stream::builders::CreateDeliveryStreamFluentBuilder::amazon_open_search_serverless_destination_configuration) / [`set_amazon_open_search_serverless_destination_configuration(Option)`](crate::operation::create_delivery_stream::builders::CreateDeliveryStreamFluentBuilder::set_amazon_open_search_serverless_destination_configuration):
required: **false**

The destination in the Serverless offering for Amazon OpenSearch Service. You can specify only one destination.


/// - [`msk_source_configuration(MskSourceConfiguration)`](crate::operation::create_delivery_stream::builders::CreateDeliveryStreamFluentBuilder::msk_source_configuration) / [`set_msk_source_configuration(Option)`](crate::operation::create_delivery_stream::builders::CreateDeliveryStreamFluentBuilder::set_msk_source_configuration):
required: **false**

The configuration for the Amazon MSK cluster to be used as the source for a delivery stream.


/// - [`snowflake_destination_configuration(SnowflakeDestinationConfiguration)`](crate::operation::create_delivery_stream::builders::CreateDeliveryStreamFluentBuilder::snowflake_destination_configuration) / [`set_snowflake_destination_configuration(Option)`](crate::operation::create_delivery_stream::builders::CreateDeliveryStreamFluentBuilder::set_snowflake_destination_configuration):
required: **false**

Configure Snowflake destination


+ /// - [`iceberg_destination_configuration(IcebergDestinationConfiguration)`](crate::operation::create_delivery_stream::builders::CreateDeliveryStreamFluentBuilder::iceberg_destination_configuration) / [`set_iceberg_destination_configuration(Option)`](crate::operation::create_delivery_stream::builders::CreateDeliveryStreamFluentBuilder::set_iceberg_destination_configuration):
required: **false**

Configure Apache Iceberg Tables destination.

Amazon Data Firehose is in preview release and is subject to change.


/// - On success, responds with [`CreateDeliveryStreamOutput`](crate::operation::create_delivery_stream::CreateDeliveryStreamOutput) with field(s): /// - [`delivery_stream_arn(Option)`](crate::operation::create_delivery_stream::CreateDeliveryStreamOutput::delivery_stream_arn):

The ARN of the delivery stream.

/// - On failure, responds with [`SdkError`](crate::operation::create_delivery_stream::CreateDeliveryStreamError) diff --git a/sdk/firehose/src/client/update_destination.rs b/sdk/firehose/src/client/update_destination.rs index b2a090e36744..88113c2d367e 100644 --- a/sdk/firehose/src/client/update_destination.rs +++ b/sdk/firehose/src/client/update_destination.rs @@ -15,6 +15,7 @@ impl super::Client { /// - [`http_endpoint_destination_update(HttpEndpointDestinationUpdate)`](crate::operation::update_destination::builders::UpdateDestinationFluentBuilder::http_endpoint_destination_update) / [`set_http_endpoint_destination_update(Option)`](crate::operation::update_destination::builders::UpdateDestinationFluentBuilder::set_http_endpoint_destination_update):
required: **false**

Describes an update to the specified HTTP endpoint destination.


/// - [`amazon_open_search_serverless_destination_update(AmazonOpenSearchServerlessDestinationUpdate)`](crate::operation::update_destination::builders::UpdateDestinationFluentBuilder::amazon_open_search_serverless_destination_update) / [`set_amazon_open_search_serverless_destination_update(Option)`](crate::operation::update_destination::builders::UpdateDestinationFluentBuilder::set_amazon_open_search_serverless_destination_update):
required: **false**

Describes an update for a destination in the Serverless offering for Amazon OpenSearch Service.


/// - [`snowflake_destination_update(SnowflakeDestinationUpdate)`](crate::operation::update_destination::builders::UpdateDestinationFluentBuilder::snowflake_destination_update) / [`set_snowflake_destination_update(Option)`](crate::operation::update_destination::builders::UpdateDestinationFluentBuilder::set_snowflake_destination_update):
required: **false**

Update to the Snowflake destination configuration settings.


+ /// - [`iceberg_destination_update(IcebergDestinationUpdate)`](crate::operation::update_destination::builders::UpdateDestinationFluentBuilder::iceberg_destination_update) / [`set_iceberg_destination_update(Option)`](crate::operation::update_destination::builders::UpdateDestinationFluentBuilder::set_iceberg_destination_update):
required: **false**

Describes an update for a destination in Apache Iceberg Tables.

Amazon Data Firehose is in preview release and is subject to change.


/// - On success, responds with [`UpdateDestinationOutput`](crate::operation::update_destination::UpdateDestinationOutput) /// - On failure, responds with [`SdkError`](crate::operation::update_destination::UpdateDestinationError) pub fn update_destination(&self) -> crate::operation::update_destination::builders::UpdateDestinationFluentBuilder { diff --git a/sdk/firehose/src/lib.rs b/sdk/firehose/src/lib.rs index 91c965bccaad..5ee8d5ef0331 100644 --- a/sdk/firehose/src/lib.rs +++ b/sdk/firehose/src/lib.rs @@ -31,7 +31,7 @@ //! ```toml //! [dependencies] //! aws-config = { version = "1.1.7", features = ["behavior-version-latest"] } -//! aws-sdk-firehose = "1.39.0" +//! aws-sdk-firehose = "1.40.0" //! tokio = { version = "1", features = ["full"] } //! ``` //! diff --git a/sdk/firehose/src/operation/create_delivery_stream/_create_delivery_stream_input.rs b/sdk/firehose/src/operation/create_delivery_stream/_create_delivery_stream_input.rs index 2f3a81039651..73482925854b 100644 --- a/sdk/firehose/src/operation/create_delivery_stream/_create_delivery_stream_input.rs +++ b/sdk/firehose/src/operation/create_delivery_stream/_create_delivery_stream_input.rs @@ -46,6 +46,9 @@ pub struct CreateDeliveryStreamInput { pub msk_source_configuration: ::std::option::Option, ///

Configure Snowflake destination

pub snowflake_destination_configuration: ::std::option::Option, + ///

Configure Apache Iceberg Tables destination.

+ ///

Amazon Data Firehose is in preview release and is subject to change.

+ pub iceberg_destination_configuration: ::std::option::Option, } impl CreateDeliveryStreamInput { ///

The name of the delivery stream. This name must be unique per Amazon Web Services account in the same Amazon Web Services Region. If the delivery streams are in different accounts or different Regions, you can have multiple delivery streams with the same name.

@@ -126,6 +129,11 @@ impl CreateDeliveryStreamInput { pub fn snowflake_destination_configuration(&self) -> ::std::option::Option<&crate::types::SnowflakeDestinationConfiguration> { self.snowflake_destination_configuration.as_ref() } + ///

Configure Apache Iceberg Tables destination.

+ ///

Amazon Data Firehose is in preview release and is subject to change.

+ pub fn iceberg_destination_configuration(&self) -> ::std::option::Option<&crate::types::IcebergDestinationConfiguration> { + self.iceberg_destination_configuration.as_ref() + } } impl CreateDeliveryStreamInput { /// Creates a new builder-style object to manufacture [`CreateDeliveryStreamInput`](crate::operation::create_delivery_stream::CreateDeliveryStreamInput). @@ -155,6 +163,7 @@ pub struct CreateDeliveryStreamInputBuilder { ::std::option::Option, pub(crate) msk_source_configuration: ::std::option::Option, pub(crate) snowflake_destination_configuration: ::std::option::Option, + pub(crate) iceberg_destination_configuration: ::std::option::Option, } impl CreateDeliveryStreamInputBuilder { ///

The name of the delivery stream. This name must be unique per Amazon Web Services account in the same Amazon Web Services Region. If the delivery streams are in different accounts or different Regions, you can have multiple delivery streams with the same name.

@@ -437,6 +446,23 @@ impl CreateDeliveryStreamInputBuilder { pub fn get_snowflake_destination_configuration(&self) -> &::std::option::Option { &self.snowflake_destination_configuration } + ///

Configure Apache Iceberg Tables destination.

+ ///

Amazon Data Firehose is in preview release and is subject to change.

+ pub fn iceberg_destination_configuration(mut self, input: crate::types::IcebergDestinationConfiguration) -> Self { + self.iceberg_destination_configuration = ::std::option::Option::Some(input); + self + } + ///

Configure Apache Iceberg Tables destination.

+ ///

Amazon Data Firehose is in preview release and is subject to change.

+ pub fn set_iceberg_destination_configuration(mut self, input: ::std::option::Option) -> Self { + self.iceberg_destination_configuration = input; + self + } + ///

Configure Apache Iceberg Tables destination.

+ ///

Amazon Data Firehose is in preview release and is subject to change.

+ pub fn get_iceberg_destination_configuration(&self) -> &::std::option::Option { + &self.iceberg_destination_configuration + } /// Consumes the builder and constructs a [`CreateDeliveryStreamInput`](crate::operation::create_delivery_stream::CreateDeliveryStreamInput). pub fn build( self, @@ -458,6 +484,7 @@ impl CreateDeliveryStreamInputBuilder { amazon_open_search_serverless_destination_configuration: self.amazon_open_search_serverless_destination_configuration, msk_source_configuration: self.msk_source_configuration, snowflake_destination_configuration: self.snowflake_destination_configuration, + iceberg_destination_configuration: self.iceberg_destination_configuration, }) } } diff --git a/sdk/firehose/src/operation/create_delivery_stream/builders.rs b/sdk/firehose/src/operation/create_delivery_stream/builders.rs index d58667c48aee..cfe594bce362 100644 --- a/sdk/firehose/src/operation/create_delivery_stream/builders.rs +++ b/sdk/firehose/src/operation/create_delivery_stream/builders.rs @@ -403,4 +403,21 @@ impl CreateDeliveryStreamFluentBuilder { pub fn get_snowflake_destination_configuration(&self) -> &::std::option::Option { self.inner.get_snowflake_destination_configuration() } + ///

Configure Apache Iceberg Tables destination.

+ ///

Amazon Data Firehose is in preview release and is subject to change.

+ pub fn iceberg_destination_configuration(mut self, input: crate::types::IcebergDestinationConfiguration) -> Self { + self.inner = self.inner.iceberg_destination_configuration(input); + self + } + ///

Configure Apache Iceberg Tables destination.

+ ///

Amazon Data Firehose is in preview release and is subject to change.

+ pub fn set_iceberg_destination_configuration(mut self, input: ::std::option::Option) -> Self { + self.inner = self.inner.set_iceberg_destination_configuration(input); + self + } + ///

Configure Apache Iceberg Tables destination.

+ ///

Amazon Data Firehose is in preview release and is subject to change.

+ pub fn get_iceberg_destination_configuration(&self) -> &::std::option::Option { + self.inner.get_iceberg_destination_configuration() + } } diff --git a/sdk/firehose/src/operation/update_destination/_update_destination_input.rs b/sdk/firehose/src/operation/update_destination/_update_destination_input.rs index 2a861dbf8473..52854b49b805 100644 --- a/sdk/firehose/src/operation/update_destination/_update_destination_input.rs +++ b/sdk/firehose/src/operation/update_destination/_update_destination_input.rs @@ -28,6 +28,9 @@ pub struct UpdateDestinationInput { pub amazon_open_search_serverless_destination_update: ::std::option::Option, ///

Update to the Snowflake destination configuration settings.

pub snowflake_destination_update: ::std::option::Option, + ///

Describes an update for a destination in Apache Iceberg Tables.

+ ///

Amazon Data Firehose is in preview release and is subject to change.

+ pub iceberg_destination_update: ::std::option::Option, } impl UpdateDestinationInput { ///

The name of the delivery stream.

@@ -81,6 +84,11 @@ impl UpdateDestinationInput { pub fn snowflake_destination_update(&self) -> ::std::option::Option<&crate::types::SnowflakeDestinationUpdate> { self.snowflake_destination_update.as_ref() } + ///

Describes an update for a destination in Apache Iceberg Tables.

+ ///

Amazon Data Firehose is in preview release and is subject to change.

+ pub fn iceberg_destination_update(&self) -> ::std::option::Option<&crate::types::IcebergDestinationUpdate> { + self.iceberg_destination_update.as_ref() + } } impl UpdateDestinationInput { /// Creates a new builder-style object to manufacture [`UpdateDestinationInput`](crate::operation::update_destination::UpdateDestinationInput). @@ -105,6 +113,7 @@ pub struct UpdateDestinationInputBuilder { pub(crate) http_endpoint_destination_update: ::std::option::Option, pub(crate) amazon_open_search_serverless_destination_update: ::std::option::Option, pub(crate) snowflake_destination_update: ::std::option::Option, + pub(crate) iceberg_destination_update: ::std::option::Option, } impl UpdateDestinationInputBuilder { ///

The name of the delivery stream.

@@ -289,6 +298,23 @@ impl UpdateDestinationInputBuilder { pub fn get_snowflake_destination_update(&self) -> &::std::option::Option { &self.snowflake_destination_update } + ///

Describes an update for a destination in Apache Iceberg Tables.

+ ///

Amazon Data Firehose is in preview release and is subject to change.

+ pub fn iceberg_destination_update(mut self, input: crate::types::IcebergDestinationUpdate) -> Self { + self.iceberg_destination_update = ::std::option::Option::Some(input); + self + } + ///

Describes an update for a destination in Apache Iceberg Tables.

+ ///

Amazon Data Firehose is in preview release and is subject to change.

+ pub fn set_iceberg_destination_update(mut self, input: ::std::option::Option) -> Self { + self.iceberg_destination_update = input; + self + } + ///

Describes an update for a destination in Apache Iceberg Tables.

+ ///

Amazon Data Firehose is in preview release and is subject to change.

+ pub fn get_iceberg_destination_update(&self) -> &::std::option::Option { + &self.iceberg_destination_update + } /// Consumes the builder and constructs a [`UpdateDestinationInput`](crate::operation::update_destination::UpdateDestinationInput). pub fn build( self, @@ -306,6 +332,7 @@ impl UpdateDestinationInputBuilder { http_endpoint_destination_update: self.http_endpoint_destination_update, amazon_open_search_serverless_destination_update: self.amazon_open_search_serverless_destination_update, snowflake_destination_update: self.snowflake_destination_update, + iceberg_destination_update: self.iceberg_destination_update, }) } } diff --git a/sdk/firehose/src/operation/update_destination/builders.rs b/sdk/firehose/src/operation/update_destination/builders.rs index 48d1c7c1bdec..570ebaa78a06 100644 --- a/sdk/firehose/src/operation/update_destination/builders.rs +++ b/sdk/firehose/src/operation/update_destination/builders.rs @@ -292,4 +292,21 @@ impl UpdateDestinationFluentBuilder { pub fn get_snowflake_destination_update(&self) -> &::std::option::Option { self.inner.get_snowflake_destination_update() } + ///

Describes an update for a destination in Apache Iceberg Tables.

+ ///

Amazon Data Firehose is in preview release and is subject to change.

+ pub fn iceberg_destination_update(mut self, input: crate::types::IcebergDestinationUpdate) -> Self { + self.inner = self.inner.iceberg_destination_update(input); + self + } + ///

Describes an update for a destination in Apache Iceberg Tables.

+ ///

Amazon Data Firehose is in preview release and is subject to change.

+ pub fn set_iceberg_destination_update(mut self, input: ::std::option::Option) -> Self { + self.inner = self.inner.set_iceberg_destination_update(input); + self + } + ///

Describes an update for a destination in Apache Iceberg Tables.

+ ///

Amazon Data Firehose is in preview release and is subject to change.

+ pub fn get_iceberg_destination_update(&self) -> &::std::option::Option { + self.inner.get_iceberg_destination_update() + } } diff --git a/sdk/firehose/src/protocol_serde.rs b/sdk/firehose/src/protocol_serde.rs index acc5e5913d5c..731accebcee1 100644 --- a/sdk/firehose/src/protocol_serde.rs +++ b/sdk/firehose/src/protocol_serde.rs @@ -121,6 +121,10 @@ pub(crate) mod shape_http_endpoint_destination_configuration; pub(crate) mod shape_http_endpoint_destination_update; +pub(crate) mod shape_iceberg_destination_configuration; + +pub(crate) mod shape_iceberg_destination_update; + pub(crate) mod shape_kinesis_stream_source_configuration; pub(crate) mod shape_list_tags_for_delivery_stream_output_tag_list; @@ -161,6 +165,8 @@ pub(crate) mod shape_authentication_configuration; pub(crate) mod shape_buffering_hints; +pub(crate) mod shape_catalog_configuration; + pub(crate) mod shape_cloud_watch_logging_options; pub(crate) mod shape_copy_command; @@ -171,6 +177,8 @@ pub(crate) mod shape_delivery_stream_encryption_configuration; pub(crate) mod shape_destination_description_list; +pub(crate) mod shape_destination_table_configuration; + pub(crate) mod shape_document_id_options; pub(crate) mod shape_dynamic_partitioning_configuration; @@ -197,8 +205,12 @@ pub(crate) mod shape_put_record_batch_response_entry; pub(crate) mod shape_redshift_retry_options; +pub(crate) mod shape_retry_options; + pub(crate) mod shape_secrets_manager_configuration; +pub(crate) mod shape_snowflake_buffering_hints; + pub(crate) mod shape_snowflake_retry_options; pub(crate) mod shape_snowflake_role_configuration; @@ -229,8 +241,6 @@ pub(crate) mod shape_output_format_configuration; pub(crate) mod shape_processor; -pub(crate) mod shape_retry_options; - pub(crate) mod shape_schema_configuration; pub(crate) mod shape_amazon_open_search_serverless_destination_description; @@ -245,6 +255,8 @@ pub(crate) mod shape_extended_s3_destination_description; pub(crate) mod shape_http_endpoint_destination_description; +pub(crate) mod shape_iceberg_destination_description; + pub(crate) mod shape_processor_parameter; pub(crate) mod shape_redshift_destination_description; @@ -257,6 +269,8 @@ pub(crate) mod shape_snowflake_destination_description; pub(crate) mod shape_splunk_destination_description; +pub(crate) mod shape_destination_table_configuration_list; + pub(crate) mod shape_hive_json_ser_de; pub(crate) mod shape_http_endpoint_description; @@ -277,10 +291,10 @@ pub(crate) mod shape_security_group_id_list; pub(crate) mod shape_subnet_id_list; +pub(crate) mod shape_list_of_non_empty_strings_without_whitespace; + pub(crate) mod shape_processor_parameter_list; pub(crate) mod shape_column_to_json_key_mappings; pub(crate) mod shape_list_of_non_empty_strings; - -pub(crate) mod shape_list_of_non_empty_strings_without_whitespace; diff --git a/sdk/firehose/src/protocol_serde/shape_catalog_configuration.rs b/sdk/firehose/src/protocol_serde/shape_catalog_configuration.rs new file mode 100644 index 000000000000..f20b58ab5f4c --- /dev/null +++ b/sdk/firehose/src/protocol_serde/shape_catalog_configuration.rs @@ -0,0 +1,50 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. +pub fn ser_catalog_configuration( + object: &mut ::aws_smithy_json::serialize::JsonObjectWriter, + input: &crate::types::CatalogConfiguration, +) -> Result<(), ::aws_smithy_types::error::operation::SerializationError> { + if let Some(var_1) = &input.catalog_arn { + object.key("CatalogARN").string(var_1.as_str()); + } + Ok(()) +} + +pub(crate) fn de_catalog_configuration<'a, I>( + tokens: &mut ::std::iter::Peekable, +) -> Result, ::aws_smithy_json::deserialize::error::DeserializeError> +where + I: Iterator, ::aws_smithy_json::deserialize::error::DeserializeError>>, +{ + match tokens.next().transpose()? { + Some(::aws_smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None), + Some(::aws_smithy_json::deserialize::Token::StartObject { .. }) => { + #[allow(unused_mut)] + let mut builder = crate::types::builders::CatalogConfigurationBuilder::default(); + loop { + match tokens.next().transpose()? { + Some(::aws_smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(::aws_smithy_json::deserialize::Token::ObjectKey { key, .. }) => match key.to_unescaped()?.as_ref() { + "CatalogARN" => { + builder = builder.set_catalog_arn( + ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + _ => ::aws_smithy_json::deserialize::token::skip_value(tokens)?, + }, + other => { + return Err(::aws_smithy_json::deserialize::error::DeserializeError::custom(format!( + "expected object key or end object, found: {:?}", + other + ))) + } + } + } + Ok(Some(builder.build())) + } + _ => Err(::aws_smithy_json::deserialize::error::DeserializeError::custom( + "expected start object or null", + )), + } +} diff --git a/sdk/firehose/src/protocol_serde/shape_create_delivery_stream_input.rs b/sdk/firehose/src/protocol_serde/shape_create_delivery_stream_input.rs index 4a0c16eabda6..367c73fbb985 100644 --- a/sdk/firehose/src/protocol_serde/shape_create_delivery_stream_input.rs +++ b/sdk/firehose/src/protocol_serde/shape_create_delivery_stream_input.rs @@ -99,5 +99,11 @@ pub fn ser_create_delivery_stream_input_input( crate::protocol_serde::shape_snowflake_destination_configuration::ser_snowflake_destination_configuration(&mut object_30, var_29)?; object_30.finish(); } + if let Some(var_31) = &input.iceberg_destination_configuration { + #[allow(unused_mut)] + let mut object_32 = object.key("IcebergDestinationConfiguration").start_object(); + crate::protocol_serde::shape_iceberg_destination_configuration::ser_iceberg_destination_configuration(&mut object_32, var_31)?; + object_32.finish(); + } Ok(()) } diff --git a/sdk/firehose/src/protocol_serde/shape_destination_description.rs b/sdk/firehose/src/protocol_serde/shape_destination_description.rs index f3bfd8c77219..95460648c047 100644 --- a/sdk/firehose/src/protocol_serde/shape_destination_description.rs +++ b/sdk/firehose/src/protocol_serde/shape_destination_description.rs @@ -66,6 +66,11 @@ where crate::protocol_serde::shape_amazon_open_search_serverless_destination_description::de_amazon_open_search_serverless_destination_description(tokens)? ); } + "IcebergDestinationDescription" => { + builder = builder.set_iceberg_destination_description( + crate::protocol_serde::shape_iceberg_destination_description::de_iceberg_destination_description(tokens)?, + ); + } _ => ::aws_smithy_json::deserialize::token::skip_value(tokens)?, }, other => { diff --git a/sdk/firehose/src/protocol_serde/shape_destination_table_configuration.rs b/sdk/firehose/src/protocol_serde/shape_destination_table_configuration.rs new file mode 100644 index 000000000000..9826aaf0cb67 --- /dev/null +++ b/sdk/firehose/src/protocol_serde/shape_destination_table_configuration.rs @@ -0,0 +1,88 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. +pub fn ser_destination_table_configuration( + object: &mut ::aws_smithy_json::serialize::JsonObjectWriter, + input: &crate::types::DestinationTableConfiguration, +) -> Result<(), ::aws_smithy_types::error::operation::SerializationError> { + { + object.key("DestinationTableName").string(input.destination_table_name.as_str()); + } + { + object.key("DestinationDatabaseName").string(input.destination_database_name.as_str()); + } + if let Some(var_1) = &input.unique_keys { + let mut array_2 = object.key("UniqueKeys").start_array(); + for item_3 in var_1 { + { + array_2.value().string(item_3.as_str()); + } + } + array_2.finish(); + } + if let Some(var_4) = &input.s3_error_output_prefix { + object.key("S3ErrorOutputPrefix").string(var_4.as_str()); + } + Ok(()) +} + +pub(crate) fn de_destination_table_configuration<'a, I>( + tokens: &mut ::std::iter::Peekable, +) -> Result, ::aws_smithy_json::deserialize::error::DeserializeError> +where + I: Iterator, ::aws_smithy_json::deserialize::error::DeserializeError>>, +{ + match tokens.next().transpose()? { + Some(::aws_smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None), + Some(::aws_smithy_json::deserialize::Token::StartObject { .. }) => { + #[allow(unused_mut)] + let mut builder = crate::types::builders::DestinationTableConfigurationBuilder::default(); + loop { + match tokens.next().transpose()? { + Some(::aws_smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(::aws_smithy_json::deserialize::Token::ObjectKey { key, .. }) => match key.to_unescaped()?.as_ref() { + "DestinationTableName" => { + builder = builder.set_destination_table_name( + ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + "DestinationDatabaseName" => { + builder = builder.set_destination_database_name( + ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + "UniqueKeys" => { + builder = builder.set_unique_keys( + crate::protocol_serde::shape_list_of_non_empty_strings_without_whitespace::de_list_of_non_empty_strings_without_whitespace(tokens)? + ); + } + "S3ErrorOutputPrefix" => { + builder = builder.set_s3_error_output_prefix( + ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + _ => ::aws_smithy_json::deserialize::token::skip_value(tokens)?, + }, + other => { + return Err(::aws_smithy_json::deserialize::error::DeserializeError::custom(format!( + "expected object key or end object, found: {:?}", + other + ))) + } + } + } + Ok(Some( + crate::serde_util::destination_table_configuration_correct_errors(builder) + .build() + .map_err(|err| ::aws_smithy_json::deserialize::error::DeserializeError::custom_source("Response was invalid", err))?, + )) + } + _ => Err(::aws_smithy_json::deserialize::error::DeserializeError::custom( + "expected start object or null", + )), + } +} diff --git a/sdk/firehose/src/protocol_serde/shape_destination_table_configuration_list.rs b/sdk/firehose/src/protocol_serde/shape_destination_table_configuration_list.rs new file mode 100644 index 000000000000..e924cb7ae307 --- /dev/null +++ b/sdk/firehose/src/protocol_serde/shape_destination_table_configuration_list.rs @@ -0,0 +1,32 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. +pub(crate) fn de_destination_table_configuration_list<'a, I>( + tokens: &mut ::std::iter::Peekable, +) -> Result>, ::aws_smithy_json::deserialize::error::DeserializeError> +where + I: Iterator, ::aws_smithy_json::deserialize::error::DeserializeError>>, +{ + match tokens.next().transpose()? { + Some(::aws_smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None), + Some(::aws_smithy_json::deserialize::Token::StartArray { .. }) => { + let mut items = Vec::new(); + loop { + match tokens.peek() { + Some(Ok(::aws_smithy_json::deserialize::Token::EndArray { .. })) => { + tokens.next().transpose().unwrap(); + break; + } + _ => { + let value = crate::protocol_serde::shape_destination_table_configuration::de_destination_table_configuration(tokens)?; + if let Some(value) = value { + items.push(value); + } + } + } + } + Ok(Some(items)) + } + _ => Err(::aws_smithy_json::deserialize::error::DeserializeError::custom( + "expected start array or null", + )), + } +} diff --git a/sdk/firehose/src/protocol_serde/shape_iceberg_destination_configuration.rs b/sdk/firehose/src/protocol_serde/shape_iceberg_destination_configuration.rs new file mode 100644 index 000000000000..90b9c3443eba --- /dev/null +++ b/sdk/firehose/src/protocol_serde/shape_iceberg_destination_configuration.rs @@ -0,0 +1,61 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. +pub fn ser_iceberg_destination_configuration( + object: &mut ::aws_smithy_json::serialize::JsonObjectWriter, + input: &crate::types::IcebergDestinationConfiguration, +) -> Result<(), ::aws_smithy_types::error::operation::SerializationError> { + if let Some(var_1) = &input.destination_table_configuration_list { + let mut array_2 = object.key("DestinationTableConfigurationList").start_array(); + for item_3 in var_1 { + { + #[allow(unused_mut)] + let mut object_4 = array_2.value().start_object(); + crate::protocol_serde::shape_destination_table_configuration::ser_destination_table_configuration(&mut object_4, item_3)?; + object_4.finish(); + } + } + array_2.finish(); + } + if let Some(var_5) = &input.buffering_hints { + #[allow(unused_mut)] + let mut object_6 = object.key("BufferingHints").start_object(); + crate::protocol_serde::shape_buffering_hints::ser_buffering_hints(&mut object_6, var_5)?; + object_6.finish(); + } + if let Some(var_7) = &input.cloud_watch_logging_options { + #[allow(unused_mut)] + let mut object_8 = object.key("CloudWatchLoggingOptions").start_object(); + crate::protocol_serde::shape_cloud_watch_logging_options::ser_cloud_watch_logging_options(&mut object_8, var_7)?; + object_8.finish(); + } + if let Some(var_9) = &input.processing_configuration { + #[allow(unused_mut)] + let mut object_10 = object.key("ProcessingConfiguration").start_object(); + crate::protocol_serde::shape_processing_configuration::ser_processing_configuration(&mut object_10, var_9)?; + object_10.finish(); + } + if let Some(var_11) = &input.s3_backup_mode { + object.key("S3BackupMode").string(var_11.as_str()); + } + if let Some(var_12) = &input.retry_options { + #[allow(unused_mut)] + let mut object_13 = object.key("RetryOptions").start_object(); + crate::protocol_serde::shape_retry_options::ser_retry_options(&mut object_13, var_12)?; + object_13.finish(); + } + { + object.key("RoleARN").string(input.role_arn.as_str()); + } + if let Some(var_14) = &input.catalog_configuration { + #[allow(unused_mut)] + let mut object_15 = object.key("CatalogConfiguration").start_object(); + crate::protocol_serde::shape_catalog_configuration::ser_catalog_configuration(&mut object_15, var_14)?; + object_15.finish(); + } + if let Some(var_16) = &input.s3_configuration { + #[allow(unused_mut)] + let mut object_17 = object.key("S3Configuration").start_object(); + crate::protocol_serde::shape_s3_destination_configuration::ser_s3_destination_configuration(&mut object_17, var_16)?; + object_17.finish(); + } + Ok(()) +} diff --git a/sdk/firehose/src/protocol_serde/shape_iceberg_destination_description.rs b/sdk/firehose/src/protocol_serde/shape_iceberg_destination_description.rs new file mode 100644 index 000000000000..a97cae9b7e9a --- /dev/null +++ b/sdk/firehose/src/protocol_serde/shape_iceberg_destination_description.rs @@ -0,0 +1,77 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. +pub(crate) fn de_iceberg_destination_description<'a, I>( + tokens: &mut ::std::iter::Peekable, +) -> Result, ::aws_smithy_json::deserialize::error::DeserializeError> +where + I: Iterator, ::aws_smithy_json::deserialize::error::DeserializeError>>, +{ + match tokens.next().transpose()? { + Some(::aws_smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None), + Some(::aws_smithy_json::deserialize::Token::StartObject { .. }) => { + #[allow(unused_mut)] + let mut builder = crate::types::builders::IcebergDestinationDescriptionBuilder::default(); + loop { + match tokens.next().transpose()? { + Some(::aws_smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(::aws_smithy_json::deserialize::Token::ObjectKey { key, .. }) => match key.to_unescaped()?.as_ref() { + "DestinationTableConfigurationList" => { + builder = builder.set_destination_table_configuration_list( + crate::protocol_serde::shape_destination_table_configuration_list::de_destination_table_configuration_list(tokens)?, + ); + } + "BufferingHints" => { + builder = builder.set_buffering_hints(crate::protocol_serde::shape_buffering_hints::de_buffering_hints(tokens)?); + } + "CloudWatchLoggingOptions" => { + builder = builder.set_cloud_watch_logging_options( + crate::protocol_serde::shape_cloud_watch_logging_options::de_cloud_watch_logging_options(tokens)?, + ); + } + "ProcessingConfiguration" => { + builder = builder.set_processing_configuration( + crate::protocol_serde::shape_processing_configuration::de_processing_configuration(tokens)?, + ); + } + "S3BackupMode" => { + builder = builder.set_s3_backup_mode( + ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())? + .map(|s| s.to_unescaped().map(|u| crate::types::IcebergS3BackupMode::from(u.as_ref()))) + .transpose()?, + ); + } + "RetryOptions" => { + builder = builder.set_retry_options(crate::protocol_serde::shape_retry_options::de_retry_options(tokens)?); + } + "RoleARN" => { + builder = builder.set_role_arn( + ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + "CatalogConfiguration" => { + builder = builder + .set_catalog_configuration(crate::protocol_serde::shape_catalog_configuration::de_catalog_configuration(tokens)?); + } + "S3DestinationDescription" => { + builder = builder.set_s3_destination_description( + crate::protocol_serde::shape_s3_destination_description::de_s3_destination_description(tokens)?, + ); + } + _ => ::aws_smithy_json::deserialize::token::skip_value(tokens)?, + }, + other => { + return Err(::aws_smithy_json::deserialize::error::DeserializeError::custom(format!( + "expected object key or end object, found: {:?}", + other + ))) + } + } + } + Ok(Some(builder.build())) + } + _ => Err(::aws_smithy_json::deserialize::error::DeserializeError::custom( + "expected start object or null", + )), + } +} diff --git a/sdk/firehose/src/protocol_serde/shape_iceberg_destination_update.rs b/sdk/firehose/src/protocol_serde/shape_iceberg_destination_update.rs new file mode 100644 index 000000000000..aa2c0b818d09 --- /dev/null +++ b/sdk/firehose/src/protocol_serde/shape_iceberg_destination_update.rs @@ -0,0 +1,61 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. +pub fn ser_iceberg_destination_update( + object: &mut ::aws_smithy_json::serialize::JsonObjectWriter, + input: &crate::types::IcebergDestinationUpdate, +) -> Result<(), ::aws_smithy_types::error::operation::SerializationError> { + if let Some(var_1) = &input.destination_table_configuration_list { + let mut array_2 = object.key("DestinationTableConfigurationList").start_array(); + for item_3 in var_1 { + { + #[allow(unused_mut)] + let mut object_4 = array_2.value().start_object(); + crate::protocol_serde::shape_destination_table_configuration::ser_destination_table_configuration(&mut object_4, item_3)?; + object_4.finish(); + } + } + array_2.finish(); + } + if let Some(var_5) = &input.buffering_hints { + #[allow(unused_mut)] + let mut object_6 = object.key("BufferingHints").start_object(); + crate::protocol_serde::shape_buffering_hints::ser_buffering_hints(&mut object_6, var_5)?; + object_6.finish(); + } + if let Some(var_7) = &input.cloud_watch_logging_options { + #[allow(unused_mut)] + let mut object_8 = object.key("CloudWatchLoggingOptions").start_object(); + crate::protocol_serde::shape_cloud_watch_logging_options::ser_cloud_watch_logging_options(&mut object_8, var_7)?; + object_8.finish(); + } + if let Some(var_9) = &input.processing_configuration { + #[allow(unused_mut)] + let mut object_10 = object.key("ProcessingConfiguration").start_object(); + crate::protocol_serde::shape_processing_configuration::ser_processing_configuration(&mut object_10, var_9)?; + object_10.finish(); + } + if let Some(var_11) = &input.s3_backup_mode { + object.key("S3BackupMode").string(var_11.as_str()); + } + if let Some(var_12) = &input.retry_options { + #[allow(unused_mut)] + let mut object_13 = object.key("RetryOptions").start_object(); + crate::protocol_serde::shape_retry_options::ser_retry_options(&mut object_13, var_12)?; + object_13.finish(); + } + if let Some(var_14) = &input.role_arn { + object.key("RoleARN").string(var_14.as_str()); + } + if let Some(var_15) = &input.catalog_configuration { + #[allow(unused_mut)] + let mut object_16 = object.key("CatalogConfiguration").start_object(); + crate::protocol_serde::shape_catalog_configuration::ser_catalog_configuration(&mut object_16, var_15)?; + object_16.finish(); + } + if let Some(var_17) = &input.s3_configuration { + #[allow(unused_mut)] + let mut object_18 = object.key("S3Configuration").start_object(); + crate::protocol_serde::shape_s3_destination_configuration::ser_s3_destination_configuration(&mut object_18, var_17)?; + object_18.finish(); + } + Ok(()) +} diff --git a/sdk/firehose/src/protocol_serde/shape_msk_source_configuration.rs b/sdk/firehose/src/protocol_serde/shape_msk_source_configuration.rs index 89bdfaddc764..706a105d4053 100644 --- a/sdk/firehose/src/protocol_serde/shape_msk_source_configuration.rs +++ b/sdk/firehose/src/protocol_serde/shape_msk_source_configuration.rs @@ -15,5 +15,10 @@ pub fn ser_msk_source_configuration( crate::protocol_serde::shape_authentication_configuration::ser_authentication_configuration(&mut object_2, var_1)?; object_2.finish(); } + if let Some(var_3) = &input.read_from_timestamp { + object + .key("ReadFromTimestamp") + .date_time(var_3, ::aws_smithy_types::date_time::Format::EpochSeconds)?; + } Ok(()) } diff --git a/sdk/firehose/src/protocol_serde/shape_msk_source_description.rs b/sdk/firehose/src/protocol_serde/shape_msk_source_description.rs index 36fbb46eb0a9..f6873225f409 100644 --- a/sdk/firehose/src/protocol_serde/shape_msk_source_description.rs +++ b/sdk/firehose/src/protocol_serde/shape_msk_source_description.rs @@ -39,6 +39,12 @@ where ::aws_smithy_types::date_time::Format::EpochSeconds, )?); } + "ReadFromTimestamp" => { + builder = builder.set_read_from_timestamp(::aws_smithy_json::deserialize::token::expect_timestamp_or_null( + tokens.next(), + ::aws_smithy_types::date_time::Format::EpochSeconds, + )?); + } _ => ::aws_smithy_json::deserialize::token::skip_value(tokens)?, }, other => { diff --git a/sdk/firehose/src/protocol_serde/shape_snowflake_buffering_hints.rs b/sdk/firehose/src/protocol_serde/shape_snowflake_buffering_hints.rs new file mode 100644 index 000000000000..d3403eb4cdef --- /dev/null +++ b/sdk/firehose/src/protocol_serde/shape_snowflake_buffering_hints.rs @@ -0,0 +1,66 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. +pub fn ser_snowflake_buffering_hints( + object: &mut ::aws_smithy_json::serialize::JsonObjectWriter, + input: &crate::types::SnowflakeBufferingHints, +) -> Result<(), ::aws_smithy_types::error::operation::SerializationError> { + if let Some(var_1) = &input.size_in_mbs { + object.key("SizeInMBs").number( + #[allow(clippy::useless_conversion)] + ::aws_smithy_types::Number::NegInt((*var_1).into()), + ); + } + if let Some(var_2) = &input.interval_in_seconds { + object.key("IntervalInSeconds").number( + #[allow(clippy::useless_conversion)] + ::aws_smithy_types::Number::NegInt((*var_2).into()), + ); + } + Ok(()) +} + +pub(crate) fn de_snowflake_buffering_hints<'a, I>( + tokens: &mut ::std::iter::Peekable, +) -> Result, ::aws_smithy_json::deserialize::error::DeserializeError> +where + I: Iterator, ::aws_smithy_json::deserialize::error::DeserializeError>>, +{ + match tokens.next().transpose()? { + Some(::aws_smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None), + Some(::aws_smithy_json::deserialize::Token::StartObject { .. }) => { + #[allow(unused_mut)] + let mut builder = crate::types::builders::SnowflakeBufferingHintsBuilder::default(); + loop { + match tokens.next().transpose()? { + Some(::aws_smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(::aws_smithy_json::deserialize::Token::ObjectKey { key, .. }) => match key.to_unescaped()?.as_ref() { + "SizeInMBs" => { + builder = builder.set_size_in_mbs( + ::aws_smithy_json::deserialize::token::expect_number_or_null(tokens.next())? + .map(i32::try_from) + .transpose()?, + ); + } + "IntervalInSeconds" => { + builder = builder.set_interval_in_seconds( + ::aws_smithy_json::deserialize::token::expect_number_or_null(tokens.next())? + .map(i32::try_from) + .transpose()?, + ); + } + _ => ::aws_smithy_json::deserialize::token::skip_value(tokens)?, + }, + other => { + return Err(::aws_smithy_json::deserialize::error::DeserializeError::custom(format!( + "expected object key or end object, found: {:?}", + other + ))) + } + } + } + Ok(Some(builder.build())) + } + _ => Err(::aws_smithy_json::deserialize::error::DeserializeError::custom( + "expected start object or null", + )), + } +} diff --git a/sdk/firehose/src/protocol_serde/shape_snowflake_destination_configuration.rs b/sdk/firehose/src/protocol_serde/shape_snowflake_destination_configuration.rs index 6c3582e7f0c8..cefd5e8a973e 100644 --- a/sdk/firehose/src/protocol_serde/shape_snowflake_destination_configuration.rs +++ b/sdk/firehose/src/protocol_serde/shape_snowflake_destination_configuration.rs @@ -81,5 +81,11 @@ pub fn ser_snowflake_destination_configuration( crate::protocol_serde::shape_secrets_manager_configuration::ser_secrets_manager_configuration(&mut object_21, var_20)?; object_21.finish(); } + if let Some(var_22) = &input.buffering_hints { + #[allow(unused_mut)] + let mut object_23 = object.key("BufferingHints").start_object(); + crate::protocol_serde::shape_snowflake_buffering_hints::ser_snowflake_buffering_hints(&mut object_23, var_22)?; + object_23.finish(); + } Ok(()) } diff --git a/sdk/firehose/src/protocol_serde/shape_snowflake_destination_description.rs b/sdk/firehose/src/protocol_serde/shape_snowflake_destination_description.rs index 3d26ea111984..e71f2d5f8bc1 100644 --- a/sdk/firehose/src/protocol_serde/shape_snowflake_destination_description.rs +++ b/sdk/firehose/src/protocol_serde/shape_snowflake_destination_description.rs @@ -118,6 +118,11 @@ where crate::protocol_serde::shape_secrets_manager_configuration::de_secrets_manager_configuration(tokens)?, ); } + "BufferingHints" => { + builder = builder.set_buffering_hints( + crate::protocol_serde::shape_snowflake_buffering_hints::de_snowflake_buffering_hints(tokens)?, + ); + } _ => ::aws_smithy_json::deserialize::token::skip_value(tokens)?, }, other => { diff --git a/sdk/firehose/src/protocol_serde/shape_snowflake_destination_update.rs b/sdk/firehose/src/protocol_serde/shape_snowflake_destination_update.rs index bbb0fbe1eaeb..821d7e37864f 100644 --- a/sdk/firehose/src/protocol_serde/shape_snowflake_destination_update.rs +++ b/sdk/firehose/src/protocol_serde/shape_snowflake_destination_update.rs @@ -75,5 +75,11 @@ pub fn ser_snowflake_destination_update( crate::protocol_serde::shape_secrets_manager_configuration::ser_secrets_manager_configuration(&mut object_24, var_23)?; object_24.finish(); } + if let Some(var_25) = &input.buffering_hints { + #[allow(unused_mut)] + let mut object_26 = object.key("BufferingHints").start_object(); + crate::protocol_serde::shape_snowflake_buffering_hints::ser_snowflake_buffering_hints(&mut object_26, var_25)?; + object_26.finish(); + } Ok(()) } diff --git a/sdk/firehose/src/protocol_serde/shape_update_destination_input.rs b/sdk/firehose/src/protocol_serde/shape_update_destination_input.rs index 6b97810adae8..5f3ebd2b2299 100644 --- a/sdk/firehose/src/protocol_serde/shape_update_destination_input.rs +++ b/sdk/firehose/src/protocol_serde/shape_update_destination_input.rs @@ -72,5 +72,11 @@ pub fn ser_update_destination_input_input( crate::protocol_serde::shape_snowflake_destination_update::ser_snowflake_destination_update(&mut object_21, var_20)?; object_21.finish(); } + if let Some(var_22) = &input.iceberg_destination_update { + #[allow(unused_mut)] + let mut object_23 = object.key("IcebergDestinationUpdate").start_object(); + crate::protocol_serde::shape_iceberg_destination_update::ser_iceberg_destination_update(&mut object_23, var_22)?; + object_23.finish(); + } Ok(()) } diff --git a/sdk/firehose/src/serde_util.rs b/sdk/firehose/src/serde_util.rs index 5cf90484eefa..c8478d49a858 100644 --- a/sdk/firehose/src/serde_util.rs +++ b/sdk/firehose/src/serde_util.rs @@ -253,6 +253,18 @@ pub(crate) fn vpc_configuration_description_correct_errors( builder } +pub(crate) fn destination_table_configuration_correct_errors( + mut builder: crate::types::builders::DestinationTableConfigurationBuilder, +) -> crate::types::builders::DestinationTableConfigurationBuilder { + if builder.destination_table_name.is_none() { + builder.destination_table_name = Some(Default::default()) + } + if builder.destination_database_name.is_none() { + builder.destination_database_name = Some(Default::default()) + } + builder +} + pub(crate) fn kms_encryption_config_correct_errors( mut builder: crate::types::builders::KmsEncryptionConfigBuilder, ) -> crate::types::builders::KmsEncryptionConfigBuilder { diff --git a/sdk/firehose/src/types.rs b/sdk/firehose/src/types.rs index 69646994da09..913750f7a119 100644 --- a/sdk/firehose/src/types.rs +++ b/sdk/firehose/src/types.rs @@ -1,9 +1,7 @@ // Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. -pub use crate::types::_snowflake_destination_update::SnowflakeDestinationUpdate; - -pub use crate::types::_secrets_manager_configuration::SecretsManagerConfiguration; +pub use crate::types::_iceberg_destination_update::IcebergDestinationUpdate; -pub use crate::types::_s3_destination_update::S3DestinationUpdate; +pub use crate::types::_s3_destination_configuration::S3DestinationConfiguration; pub use crate::types::_cloud_watch_logging_options::CloudWatchLoggingOptions; @@ -17,9 +15,11 @@ pub use crate::types::_compression_format::CompressionFormat; pub use crate::types::_buffering_hints::BufferingHints; -pub use crate::types::_snowflake_s3_backup_mode::SnowflakeS3BackupMode; +pub use crate::types::_catalog_configuration::CatalogConfiguration; -pub use crate::types::_snowflake_retry_options::SnowflakeRetryOptions; +pub use crate::types::_retry_options::RetryOptions; + +pub use crate::types::_iceberg_s3_backup_mode::IcebergS3BackupMode; pub use crate::types::_processing_configuration::ProcessingConfiguration; @@ -31,6 +31,20 @@ pub use crate::types::_processor_parameter_name::ProcessorParameterName; pub use crate::types::_processor_type::ProcessorType; +pub use crate::types::_destination_table_configuration::DestinationTableConfiguration; + +pub use crate::types::_snowflake_destination_update::SnowflakeDestinationUpdate; + +pub use crate::types::_snowflake_buffering_hints::SnowflakeBufferingHints; + +pub use crate::types::_secrets_manager_configuration::SecretsManagerConfiguration; + +pub use crate::types::_s3_destination_update::S3DestinationUpdate; + +pub use crate::types::_snowflake_s3_backup_mode::SnowflakeS3BackupMode; + +pub use crate::types::_snowflake_retry_options::SnowflakeRetryOptions; + pub use crate::types::_snowflake_data_loading_option::SnowflakeDataLoadingOption; pub use crate::types::_snowflake_role_configuration::SnowflakeRoleConfiguration; @@ -99,8 +113,6 @@ pub use crate::types::_extended_s3_destination_update::ExtendedS3DestinationUpda pub use crate::types::_dynamic_partitioning_configuration::DynamicPartitioningConfiguration; -pub use crate::types::_retry_options::RetryOptions; - pub use crate::types::_data_format_conversion_configuration::DataFormatConversionConfiguration; pub use crate::types::_output_format_configuration::OutputFormatConfiguration; @@ -147,12 +159,14 @@ pub use crate::types::_delivery_stream_description::DeliveryStreamDescription; pub use crate::types::_destination_description::DestinationDescription; +pub use crate::types::_iceberg_destination_description::IcebergDestinationDescription; + +pub use crate::types::_s3_destination_description::S3DestinationDescription; + pub use crate::types::_amazon_open_search_serverless_destination_description::AmazonOpenSearchServerlessDestinationDescription; pub use crate::types::_vpc_configuration_description::VpcConfigurationDescription; -pub use crate::types::_s3_destination_description::S3DestinationDescription; - pub use crate::types::_amazon_open_search_serverless_s3_backup_mode::AmazonOpenSearchServerlessS3BackupMode; pub use crate::types::_snowflake_destination_description::SnowflakeDestinationDescription; @@ -197,9 +211,9 @@ pub use crate::types::_delivery_stream_encryption_status::DeliveryStreamEncrypti pub use crate::types::_delivery_stream_status::DeliveryStreamStatus; -pub use crate::types::_snowflake_destination_configuration::SnowflakeDestinationConfiguration; +pub use crate::types::_iceberg_destination_configuration::IcebergDestinationConfiguration; -pub use crate::types::_s3_destination_configuration::S3DestinationConfiguration; +pub use crate::types::_snowflake_destination_configuration::SnowflakeDestinationConfiguration; pub use crate::types::_msk_source_configuration::MskSourceConfiguration; @@ -251,6 +265,8 @@ mod _authentication_configuration; mod _buffering_hints; +mod _catalog_configuration; + mod _cloud_watch_logging_options; mod _compression_format; @@ -283,6 +299,8 @@ mod _deserializer; mod _destination_description; +mod _destination_table_configuration; + mod _document_id_options; mod _dynamic_partitioning_configuration; @@ -335,6 +353,14 @@ mod _http_endpoint_retry_options; mod _http_endpoint_s3_backup_mode; +mod _iceberg_destination_configuration; + +mod _iceberg_destination_description; + +mod _iceberg_destination_update; + +mod _iceberg_s3_backup_mode; + mod _input_format_configuration; mod _key_type; @@ -407,6 +433,8 @@ mod _secrets_manager_configuration; mod _serializer; +mod _snowflake_buffering_hints; + mod _snowflake_data_loading_option; mod _snowflake_destination_configuration; diff --git a/sdk/firehose/src/types/_catalog_configuration.rs b/sdk/firehose/src/types/_catalog_configuration.rs new file mode 100644 index 000000000000..39ebf11a95cf --- /dev/null +++ b/sdk/firehose/src/types/_catalog_configuration.rs @@ -0,0 +1,56 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. + +///

Describes the containers where the destination Apache Iceberg Tables are persisted.

+///

Amazon Data Firehose is in preview release and is subject to change.

+#[non_exhaustive] +#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)] +pub struct CatalogConfiguration { + ///

Specifies the Glue catalog ARN indentifier of the destination Apache Iceberg Tables. You must specify the ARN in the format arn:aws:glue:region:account-id:catalog.

+ ///

Amazon Data Firehose is in preview release and is subject to change.

+ pub catalog_arn: ::std::option::Option<::std::string::String>, +} +impl CatalogConfiguration { + ///

Specifies the Glue catalog ARN indentifier of the destination Apache Iceberg Tables. You must specify the ARN in the format arn:aws:glue:region:account-id:catalog.

+ ///

Amazon Data Firehose is in preview release and is subject to change.

+ pub fn catalog_arn(&self) -> ::std::option::Option<&str> { + self.catalog_arn.as_deref() + } +} +impl CatalogConfiguration { + /// Creates a new builder-style object to manufacture [`CatalogConfiguration`](crate::types::CatalogConfiguration). + pub fn builder() -> crate::types::builders::CatalogConfigurationBuilder { + crate::types::builders::CatalogConfigurationBuilder::default() + } +} + +/// A builder for [`CatalogConfiguration`](crate::types::CatalogConfiguration). +#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)] +#[non_exhaustive] +pub struct CatalogConfigurationBuilder { + pub(crate) catalog_arn: ::std::option::Option<::std::string::String>, +} +impl CatalogConfigurationBuilder { + ///

Specifies the Glue catalog ARN indentifier of the destination Apache Iceberg Tables. You must specify the ARN in the format arn:aws:glue:region:account-id:catalog.

+ ///

Amazon Data Firehose is in preview release and is subject to change.

+ pub fn catalog_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self { + self.catalog_arn = ::std::option::Option::Some(input.into()); + self + } + ///

Specifies the Glue catalog ARN indentifier of the destination Apache Iceberg Tables. You must specify the ARN in the format arn:aws:glue:region:account-id:catalog.

+ ///

Amazon Data Firehose is in preview release and is subject to change.

+ pub fn set_catalog_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self { + self.catalog_arn = input; + self + } + ///

Specifies the Glue catalog ARN indentifier of the destination Apache Iceberg Tables. You must specify the ARN in the format arn:aws:glue:region:account-id:catalog.

+ ///

Amazon Data Firehose is in preview release and is subject to change.

+ pub fn get_catalog_arn(&self) -> &::std::option::Option<::std::string::String> { + &self.catalog_arn + } + /// Consumes the builder and constructs a [`CatalogConfiguration`](crate::types::CatalogConfiguration). + pub fn build(self) -> crate::types::CatalogConfiguration { + crate::types::CatalogConfiguration { + catalog_arn: self.catalog_arn, + } + } +} diff --git a/sdk/firehose/src/types/_destination_description.rs b/sdk/firehose/src/types/_destination_description.rs index ee5d234d732f..9106c7d206da 100644 --- a/sdk/firehose/src/types/_destination_description.rs +++ b/sdk/firehose/src/types/_destination_description.rs @@ -24,6 +24,9 @@ pub struct DestinationDescription { pub snowflake_destination_description: ::std::option::Option, ///

The destination in the Serverless offering for Amazon OpenSearch Service.

pub amazon_open_search_serverless_destination_description: ::std::option::Option, + ///

Describes a destination in Apache Iceberg Tables.

+ ///

Amazon Data Firehose is in preview release and is subject to change.

+ pub iceberg_destination_description: ::std::option::Option, } impl DestinationDescription { ///

The ID of the destination.

@@ -71,6 +74,11 @@ impl DestinationDescription { ) -> ::std::option::Option<&crate::types::AmazonOpenSearchServerlessDestinationDescription> { self.amazon_open_search_serverless_destination_description.as_ref() } + ///

Describes a destination in Apache Iceberg Tables.

+ ///

Amazon Data Firehose is in preview release and is subject to change.

+ pub fn iceberg_destination_description(&self) -> ::std::option::Option<&crate::types::IcebergDestinationDescription> { + self.iceberg_destination_description.as_ref() + } } impl DestinationDescription { /// Creates a new builder-style object to manufacture [`DestinationDescription`](crate::types::DestinationDescription). @@ -94,6 +102,7 @@ pub struct DestinationDescriptionBuilder { pub(crate) snowflake_destination_description: ::std::option::Option, pub(crate) amazon_open_search_serverless_destination_description: ::std::option::Option, + pub(crate) iceberg_destination_description: ::std::option::Option, } impl DestinationDescriptionBuilder { ///

The ID of the destination.

@@ -256,6 +265,23 @@ impl DestinationDescriptionBuilder { ) -> &::std::option::Option { &self.amazon_open_search_serverless_destination_description } + ///

Describes a destination in Apache Iceberg Tables.

+ ///

Amazon Data Firehose is in preview release and is subject to change.

+ pub fn iceberg_destination_description(mut self, input: crate::types::IcebergDestinationDescription) -> Self { + self.iceberg_destination_description = ::std::option::Option::Some(input); + self + } + ///

Describes a destination in Apache Iceberg Tables.

+ ///

Amazon Data Firehose is in preview release and is subject to change.

+ pub fn set_iceberg_destination_description(mut self, input: ::std::option::Option) -> Self { + self.iceberg_destination_description = input; + self + } + ///

Describes a destination in Apache Iceberg Tables.

+ ///

Amazon Data Firehose is in preview release and is subject to change.

+ pub fn get_iceberg_destination_description(&self) -> &::std::option::Option { + &self.iceberg_destination_description + } /// Consumes the builder and constructs a [`DestinationDescription`](crate::types::DestinationDescription). /// This method will fail if any of the following fields are not set: /// - [`destination_id`](crate::types::builders::DestinationDescriptionBuilder::destination_id) @@ -276,6 +302,7 @@ impl DestinationDescriptionBuilder { http_endpoint_destination_description: self.http_endpoint_destination_description, snowflake_destination_description: self.snowflake_destination_description, amazon_open_search_serverless_destination_description: self.amazon_open_search_serverless_destination_description, + iceberg_destination_description: self.iceberg_destination_description, }) } } diff --git a/sdk/firehose/src/types/_destination_table_configuration.rs b/sdk/firehose/src/types/_destination_table_configuration.rs new file mode 100644 index 000000000000..282c0bcd970c --- /dev/null +++ b/sdk/firehose/src/types/_destination_table_configuration.rs @@ -0,0 +1,162 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. + +///

Describes the configuration of a destination in Apache Iceberg Tables.

+///

Amazon Data Firehose is in preview release and is subject to change.

+#[non_exhaustive] +#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)] +pub struct DestinationTableConfiguration { + ///

Specifies the name of the Apache Iceberg Table.

+ ///

Amazon Data Firehose is in preview release and is subject to change.

+ pub destination_table_name: ::std::string::String, + ///

The name of the Apache Iceberg database.

+ ///

Amazon Data Firehose is in preview release and is subject to change.

+ pub destination_database_name: ::std::string::String, + ///

A list of unique keys for a given Apache Iceberg table. Firehose will use these for running Create/Update/Delete operations on the given Iceberg table.

+ ///

Amazon Data Firehose is in preview release and is subject to change.

+ pub unique_keys: ::std::option::Option<::std::vec::Vec<::std::string::String>>, + ///

The table specific S3 error output prefix. All the errors that occurred while delivering to this table will be prefixed with this value in S3 destination.

+ ///

Amazon Data Firehose is in preview release and is subject to change.

+ pub s3_error_output_prefix: ::std::option::Option<::std::string::String>, +} +impl DestinationTableConfiguration { + ///

Specifies the name of the Apache Iceberg Table.

+ ///

Amazon Data Firehose is in preview release and is subject to change.

+ pub fn destination_table_name(&self) -> &str { + use std::ops::Deref; + self.destination_table_name.deref() + } + ///

The name of the Apache Iceberg database.

+ ///

Amazon Data Firehose is in preview release and is subject to change.

+ pub fn destination_database_name(&self) -> &str { + use std::ops::Deref; + self.destination_database_name.deref() + } + ///

A list of unique keys for a given Apache Iceberg table. Firehose will use these for running Create/Update/Delete operations on the given Iceberg table.

+ ///

Amazon Data Firehose is in preview release and is subject to change.

+ /// + /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.unique_keys.is_none()`. + pub fn unique_keys(&self) -> &[::std::string::String] { + self.unique_keys.as_deref().unwrap_or_default() + } + ///

The table specific S3 error output prefix. All the errors that occurred while delivering to this table will be prefixed with this value in S3 destination.

+ ///

Amazon Data Firehose is in preview release and is subject to change.

+ pub fn s3_error_output_prefix(&self) -> ::std::option::Option<&str> { + self.s3_error_output_prefix.as_deref() + } +} +impl DestinationTableConfiguration { + /// Creates a new builder-style object to manufacture [`DestinationTableConfiguration`](crate::types::DestinationTableConfiguration). + pub fn builder() -> crate::types::builders::DestinationTableConfigurationBuilder { + crate::types::builders::DestinationTableConfigurationBuilder::default() + } +} + +/// A builder for [`DestinationTableConfiguration`](crate::types::DestinationTableConfiguration). +#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)] +#[non_exhaustive] +pub struct DestinationTableConfigurationBuilder { + pub(crate) destination_table_name: ::std::option::Option<::std::string::String>, + pub(crate) destination_database_name: ::std::option::Option<::std::string::String>, + pub(crate) unique_keys: ::std::option::Option<::std::vec::Vec<::std::string::String>>, + pub(crate) s3_error_output_prefix: ::std::option::Option<::std::string::String>, +} +impl DestinationTableConfigurationBuilder { + ///

Specifies the name of the Apache Iceberg Table.

+ ///

Amazon Data Firehose is in preview release and is subject to change.

+ /// This field is required. + pub fn destination_table_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self { + self.destination_table_name = ::std::option::Option::Some(input.into()); + self + } + ///

Specifies the name of the Apache Iceberg Table.

+ ///

Amazon Data Firehose is in preview release and is subject to change.

+ pub fn set_destination_table_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self { + self.destination_table_name = input; + self + } + ///

Specifies the name of the Apache Iceberg Table.

+ ///

Amazon Data Firehose is in preview release and is subject to change.

+ pub fn get_destination_table_name(&self) -> &::std::option::Option<::std::string::String> { + &self.destination_table_name + } + ///

The name of the Apache Iceberg database.

+ ///

Amazon Data Firehose is in preview release and is subject to change.

+ /// This field is required. + pub fn destination_database_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self { + self.destination_database_name = ::std::option::Option::Some(input.into()); + self + } + ///

The name of the Apache Iceberg database.

+ ///

Amazon Data Firehose is in preview release and is subject to change.

+ pub fn set_destination_database_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self { + self.destination_database_name = input; + self + } + ///

The name of the Apache Iceberg database.

+ ///

Amazon Data Firehose is in preview release and is subject to change.

+ pub fn get_destination_database_name(&self) -> &::std::option::Option<::std::string::String> { + &self.destination_database_name + } + /// Appends an item to `unique_keys`. + /// + /// To override the contents of this collection use [`set_unique_keys`](Self::set_unique_keys). + /// + ///

A list of unique keys for a given Apache Iceberg table. Firehose will use these for running Create/Update/Delete operations on the given Iceberg table.

+ ///

Amazon Data Firehose is in preview release and is subject to change.

+ pub fn unique_keys(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self { + let mut v = self.unique_keys.unwrap_or_default(); + v.push(input.into()); + self.unique_keys = ::std::option::Option::Some(v); + self + } + ///

A list of unique keys for a given Apache Iceberg table. Firehose will use these for running Create/Update/Delete operations on the given Iceberg table.

+ ///

Amazon Data Firehose is in preview release and is subject to change.

+ pub fn set_unique_keys(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self { + self.unique_keys = input; + self + } + ///

A list of unique keys for a given Apache Iceberg table. Firehose will use these for running Create/Update/Delete operations on the given Iceberg table.

+ ///

Amazon Data Firehose is in preview release and is subject to change.

+ pub fn get_unique_keys(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> { + &self.unique_keys + } + ///

The table specific S3 error output prefix. All the errors that occurred while delivering to this table will be prefixed with this value in S3 destination.

+ ///

Amazon Data Firehose is in preview release and is subject to change.

+ pub fn s3_error_output_prefix(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self { + self.s3_error_output_prefix = ::std::option::Option::Some(input.into()); + self + } + ///

The table specific S3 error output prefix. All the errors that occurred while delivering to this table will be prefixed with this value in S3 destination.

+ ///

Amazon Data Firehose is in preview release and is subject to change.

+ pub fn set_s3_error_output_prefix(mut self, input: ::std::option::Option<::std::string::String>) -> Self { + self.s3_error_output_prefix = input; + self + } + ///

The table specific S3 error output prefix. All the errors that occurred while delivering to this table will be prefixed with this value in S3 destination.

+ ///

Amazon Data Firehose is in preview release and is subject to change.

+ pub fn get_s3_error_output_prefix(&self) -> &::std::option::Option<::std::string::String> { + &self.s3_error_output_prefix + } + /// Consumes the builder and constructs a [`DestinationTableConfiguration`](crate::types::DestinationTableConfiguration). + /// This method will fail if any of the following fields are not set: + /// - [`destination_table_name`](crate::types::builders::DestinationTableConfigurationBuilder::destination_table_name) + /// - [`destination_database_name`](crate::types::builders::DestinationTableConfigurationBuilder::destination_database_name) + pub fn build(self) -> ::std::result::Result { + ::std::result::Result::Ok(crate::types::DestinationTableConfiguration { + destination_table_name: self.destination_table_name.ok_or_else(|| { + ::aws_smithy_types::error::operation::BuildError::missing_field( + "destination_table_name", + "destination_table_name was not specified but it is required when building DestinationTableConfiguration", + ) + })?, + destination_database_name: self.destination_database_name.ok_or_else(|| { + ::aws_smithy_types::error::operation::BuildError::missing_field( + "destination_database_name", + "destination_database_name was not specified but it is required when building DestinationTableConfiguration", + ) + })?, + unique_keys: self.unique_keys, + s3_error_output_prefix: self.s3_error_output_prefix, + }) + } +} diff --git a/sdk/firehose/src/types/_iceberg_destination_configuration.rs b/sdk/firehose/src/types/_iceberg_destination_configuration.rs new file mode 100644 index 000000000000..45bb99d9f94c --- /dev/null +++ b/sdk/firehose/src/types/_iceberg_destination_configuration.rs @@ -0,0 +1,269 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. + +///

Specifies the destination configure settings for Apache Iceberg Table.

+///

Amazon Data Firehose is in preview release and is subject to change.

+#[non_exhaustive] +#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)] +pub struct IcebergDestinationConfiguration { + ///

Provides a list of DestinationTableConfigurations which Firehose uses to deliver data to Apache Iceberg tables.

+ ///

Amazon Data Firehose is in preview release and is subject to change.

+ pub destination_table_configuration_list: ::std::option::Option<::std::vec::Vec>, + ///

Describes hints for the buffering to perform before delivering data to the destination. These options are treated as hints, and therefore Firehose might choose to use different values when it is optimal. The SizeInMBs and IntervalInSeconds parameters are optional. However, if specify a value for one of them, you must also provide a value for the other.

+ pub buffering_hints: ::std::option::Option, + ///

Describes the Amazon CloudWatch logging options for your delivery stream.

+ pub cloud_watch_logging_options: ::std::option::Option, + ///

Describes a data processing configuration.

+ pub processing_configuration: ::std::option::Option, + ///

Describes how Firehose will backup records. Currently,Firehose only supports FailedDataOnly for preview.

+ ///

Amazon Data Firehose is in preview release and is subject to change.

+ pub s3_backup_mode: ::std::option::Option, + ///

The retry behavior in case Firehose is unable to deliver data to an Amazon S3 prefix.

+ pub retry_options: ::std::option::Option, + ///

The Amazon Resource Name (ARN) of the Apache Iceberg tables role.

+ ///

Amazon Data Firehose is in preview release and is subject to change.

+ pub role_arn: ::std::string::String, + ///

Configuration describing where the destination Apache Iceberg Tables are persisted.

+ ///

Amazon Data Firehose is in preview release and is subject to change.

+ pub catalog_configuration: ::std::option::Option, + ///

Describes the configuration of a destination in Amazon S3.

+ pub s3_configuration: ::std::option::Option, +} +impl IcebergDestinationConfiguration { + ///

Provides a list of DestinationTableConfigurations which Firehose uses to deliver data to Apache Iceberg tables.

+ ///

Amazon Data Firehose is in preview release and is subject to change.

+ /// + /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.destination_table_configuration_list.is_none()`. + pub fn destination_table_configuration_list(&self) -> &[crate::types::DestinationTableConfiguration] { + self.destination_table_configuration_list.as_deref().unwrap_or_default() + } + ///

Describes hints for the buffering to perform before delivering data to the destination. These options are treated as hints, and therefore Firehose might choose to use different values when it is optimal. The SizeInMBs and IntervalInSeconds parameters are optional. However, if specify a value for one of them, you must also provide a value for the other.

+ pub fn buffering_hints(&self) -> ::std::option::Option<&crate::types::BufferingHints> { + self.buffering_hints.as_ref() + } + ///

Describes the Amazon CloudWatch logging options for your delivery stream.

+ pub fn cloud_watch_logging_options(&self) -> ::std::option::Option<&crate::types::CloudWatchLoggingOptions> { + self.cloud_watch_logging_options.as_ref() + } + ///

Describes a data processing configuration.

+ pub fn processing_configuration(&self) -> ::std::option::Option<&crate::types::ProcessingConfiguration> { + self.processing_configuration.as_ref() + } + ///

Describes how Firehose will backup records. Currently,Firehose only supports FailedDataOnly for preview.

+ ///

Amazon Data Firehose is in preview release and is subject to change.

+ pub fn s3_backup_mode(&self) -> ::std::option::Option<&crate::types::IcebergS3BackupMode> { + self.s3_backup_mode.as_ref() + } + ///

The retry behavior in case Firehose is unable to deliver data to an Amazon S3 prefix.

+ pub fn retry_options(&self) -> ::std::option::Option<&crate::types::RetryOptions> { + self.retry_options.as_ref() + } + ///

The Amazon Resource Name (ARN) of the Apache Iceberg tables role.

+ ///

Amazon Data Firehose is in preview release and is subject to change.

+ pub fn role_arn(&self) -> &str { + use std::ops::Deref; + self.role_arn.deref() + } + ///

Configuration describing where the destination Apache Iceberg Tables are persisted.

+ ///

Amazon Data Firehose is in preview release and is subject to change.

+ pub fn catalog_configuration(&self) -> ::std::option::Option<&crate::types::CatalogConfiguration> { + self.catalog_configuration.as_ref() + } + ///

Describes the configuration of a destination in Amazon S3.

+ pub fn s3_configuration(&self) -> ::std::option::Option<&crate::types::S3DestinationConfiguration> { + self.s3_configuration.as_ref() + } +} +impl IcebergDestinationConfiguration { + /// Creates a new builder-style object to manufacture [`IcebergDestinationConfiguration`](crate::types::IcebergDestinationConfiguration). + pub fn builder() -> crate::types::builders::IcebergDestinationConfigurationBuilder { + crate::types::builders::IcebergDestinationConfigurationBuilder::default() + } +} + +/// A builder for [`IcebergDestinationConfiguration`](crate::types::IcebergDestinationConfiguration). +#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)] +#[non_exhaustive] +pub struct IcebergDestinationConfigurationBuilder { + pub(crate) destination_table_configuration_list: ::std::option::Option<::std::vec::Vec>, + pub(crate) buffering_hints: ::std::option::Option, + pub(crate) cloud_watch_logging_options: ::std::option::Option, + pub(crate) processing_configuration: ::std::option::Option, + pub(crate) s3_backup_mode: ::std::option::Option, + pub(crate) retry_options: ::std::option::Option, + pub(crate) role_arn: ::std::option::Option<::std::string::String>, + pub(crate) catalog_configuration: ::std::option::Option, + pub(crate) s3_configuration: ::std::option::Option, +} +impl IcebergDestinationConfigurationBuilder { + /// Appends an item to `destination_table_configuration_list`. + /// + /// To override the contents of this collection use [`set_destination_table_configuration_list`](Self::set_destination_table_configuration_list). + /// + ///

Provides a list of DestinationTableConfigurations which Firehose uses to deliver data to Apache Iceberg tables.

+ ///

Amazon Data Firehose is in preview release and is subject to change.

+ pub fn destination_table_configuration_list(mut self, input: crate::types::DestinationTableConfiguration) -> Self { + let mut v = self.destination_table_configuration_list.unwrap_or_default(); + v.push(input); + self.destination_table_configuration_list = ::std::option::Option::Some(v); + self + } + ///

Provides a list of DestinationTableConfigurations which Firehose uses to deliver data to Apache Iceberg tables.

+ ///

Amazon Data Firehose is in preview release and is subject to change.

+ pub fn set_destination_table_configuration_list( + mut self, + input: ::std::option::Option<::std::vec::Vec>, + ) -> Self { + self.destination_table_configuration_list = input; + self + } + ///

Provides a list of DestinationTableConfigurations which Firehose uses to deliver data to Apache Iceberg tables.

+ ///

Amazon Data Firehose is in preview release and is subject to change.

+ pub fn get_destination_table_configuration_list(&self) -> &::std::option::Option<::std::vec::Vec> { + &self.destination_table_configuration_list + } + ///

Describes hints for the buffering to perform before delivering data to the destination. These options are treated as hints, and therefore Firehose might choose to use different values when it is optimal. The SizeInMBs and IntervalInSeconds parameters are optional. However, if specify a value for one of them, you must also provide a value for the other.

+ pub fn buffering_hints(mut self, input: crate::types::BufferingHints) -> Self { + self.buffering_hints = ::std::option::Option::Some(input); + self + } + ///

Describes hints for the buffering to perform before delivering data to the destination. These options are treated as hints, and therefore Firehose might choose to use different values when it is optimal. The SizeInMBs and IntervalInSeconds parameters are optional. However, if specify a value for one of them, you must also provide a value for the other.

+ pub fn set_buffering_hints(mut self, input: ::std::option::Option) -> Self { + self.buffering_hints = input; + self + } + ///

Describes hints for the buffering to perform before delivering data to the destination. These options are treated as hints, and therefore Firehose might choose to use different values when it is optimal. The SizeInMBs and IntervalInSeconds parameters are optional. However, if specify a value for one of them, you must also provide a value for the other.

+ pub fn get_buffering_hints(&self) -> &::std::option::Option { + &self.buffering_hints + } + ///

Describes the Amazon CloudWatch logging options for your delivery stream.

+ pub fn cloud_watch_logging_options(mut self, input: crate::types::CloudWatchLoggingOptions) -> Self { + self.cloud_watch_logging_options = ::std::option::Option::Some(input); + self + } + ///

Describes the Amazon CloudWatch logging options for your delivery stream.

+ pub fn set_cloud_watch_logging_options(mut self, input: ::std::option::Option) -> Self { + self.cloud_watch_logging_options = input; + self + } + ///

Describes the Amazon CloudWatch logging options for your delivery stream.

+ pub fn get_cloud_watch_logging_options(&self) -> &::std::option::Option { + &self.cloud_watch_logging_options + } + ///

Describes a data processing configuration.

+ pub fn processing_configuration(mut self, input: crate::types::ProcessingConfiguration) -> Self { + self.processing_configuration = ::std::option::Option::Some(input); + self + } + ///

Describes a data processing configuration.

+ pub fn set_processing_configuration(mut self, input: ::std::option::Option) -> Self { + self.processing_configuration = input; + self + } + ///

Describes a data processing configuration.

+ pub fn get_processing_configuration(&self) -> &::std::option::Option { + &self.processing_configuration + } + ///

Describes how Firehose will backup records. Currently,Firehose only supports FailedDataOnly for preview.

+ ///

Amazon Data Firehose is in preview release and is subject to change.

+ pub fn s3_backup_mode(mut self, input: crate::types::IcebergS3BackupMode) -> Self { + self.s3_backup_mode = ::std::option::Option::Some(input); + self + } + ///

Describes how Firehose will backup records. Currently,Firehose only supports FailedDataOnly for preview.

+ ///

Amazon Data Firehose is in preview release and is subject to change.

+ pub fn set_s3_backup_mode(mut self, input: ::std::option::Option) -> Self { + self.s3_backup_mode = input; + self + } + ///

Describes how Firehose will backup records. Currently,Firehose only supports FailedDataOnly for preview.

+ ///

Amazon Data Firehose is in preview release and is subject to change.

+ pub fn get_s3_backup_mode(&self) -> &::std::option::Option { + &self.s3_backup_mode + } + ///

The retry behavior in case Firehose is unable to deliver data to an Amazon S3 prefix.

+ pub fn retry_options(mut self, input: crate::types::RetryOptions) -> Self { + self.retry_options = ::std::option::Option::Some(input); + self + } + ///

The retry behavior in case Firehose is unable to deliver data to an Amazon S3 prefix.

+ pub fn set_retry_options(mut self, input: ::std::option::Option) -> Self { + self.retry_options = input; + self + } + ///

The retry behavior in case Firehose is unable to deliver data to an Amazon S3 prefix.

+ pub fn get_retry_options(&self) -> &::std::option::Option { + &self.retry_options + } + ///

The Amazon Resource Name (ARN) of the Apache Iceberg tables role.

+ ///

Amazon Data Firehose is in preview release and is subject to change.

+ /// This field is required. + pub fn role_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self { + self.role_arn = ::std::option::Option::Some(input.into()); + self + } + ///

The Amazon Resource Name (ARN) of the Apache Iceberg tables role.

+ ///

Amazon Data Firehose is in preview release and is subject to change.

+ pub fn set_role_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self { + self.role_arn = input; + self + } + ///

The Amazon Resource Name (ARN) of the Apache Iceberg tables role.

+ ///

Amazon Data Firehose is in preview release and is subject to change.

+ pub fn get_role_arn(&self) -> &::std::option::Option<::std::string::String> { + &self.role_arn + } + ///

Configuration describing where the destination Apache Iceberg Tables are persisted.

+ ///

Amazon Data Firehose is in preview release and is subject to change.

+ /// This field is required. + pub fn catalog_configuration(mut self, input: crate::types::CatalogConfiguration) -> Self { + self.catalog_configuration = ::std::option::Option::Some(input); + self + } + ///

Configuration describing where the destination Apache Iceberg Tables are persisted.

+ ///

Amazon Data Firehose is in preview release and is subject to change.

+ pub fn set_catalog_configuration(mut self, input: ::std::option::Option) -> Self { + self.catalog_configuration = input; + self + } + ///

Configuration describing where the destination Apache Iceberg Tables are persisted.

+ ///

Amazon Data Firehose is in preview release and is subject to change.

+ pub fn get_catalog_configuration(&self) -> &::std::option::Option { + &self.catalog_configuration + } + ///

Describes the configuration of a destination in Amazon S3.

+ /// This field is required. + pub fn s3_configuration(mut self, input: crate::types::S3DestinationConfiguration) -> Self { + self.s3_configuration = ::std::option::Option::Some(input); + self + } + ///

Describes the configuration of a destination in Amazon S3.

+ pub fn set_s3_configuration(mut self, input: ::std::option::Option) -> Self { + self.s3_configuration = input; + self + } + ///

Describes the configuration of a destination in Amazon S3.

+ pub fn get_s3_configuration(&self) -> &::std::option::Option { + &self.s3_configuration + } + /// Consumes the builder and constructs a [`IcebergDestinationConfiguration`](crate::types::IcebergDestinationConfiguration). + /// This method will fail if any of the following fields are not set: + /// - [`role_arn`](crate::types::builders::IcebergDestinationConfigurationBuilder::role_arn) + pub fn build(self) -> ::std::result::Result { + ::std::result::Result::Ok(crate::types::IcebergDestinationConfiguration { + destination_table_configuration_list: self.destination_table_configuration_list, + buffering_hints: self.buffering_hints, + cloud_watch_logging_options: self.cloud_watch_logging_options, + processing_configuration: self.processing_configuration, + s3_backup_mode: self.s3_backup_mode, + retry_options: self.retry_options, + role_arn: self.role_arn.ok_or_else(|| { + ::aws_smithy_types::error::operation::BuildError::missing_field( + "role_arn", + "role_arn was not specified but it is required when building IcebergDestinationConfiguration", + ) + })?, + catalog_configuration: self.catalog_configuration, + s3_configuration: self.s3_configuration, + }) + } +} diff --git a/sdk/firehose/src/types/_iceberg_destination_description.rs b/sdk/firehose/src/types/_iceberg_destination_description.rs new file mode 100644 index 000000000000..03dffd51bb17 --- /dev/null +++ b/sdk/firehose/src/types/_iceberg_destination_description.rs @@ -0,0 +1,258 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. + +///

Describes a destination in Apache Iceberg Tables.

+///

Amazon Data Firehose is in preview release and is subject to change.

+#[non_exhaustive] +#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)] +pub struct IcebergDestinationDescription { + ///

Provides a list of DestinationTableConfigurations which Firehose uses to deliver data to Apache Iceberg tables.

+ ///

Amazon Data Firehose is in preview release and is subject to change.

+ pub destination_table_configuration_list: ::std::option::Option<::std::vec::Vec>, + ///

Describes hints for the buffering to perform before delivering data to the destination. These options are treated as hints, and therefore Firehose might choose to use different values when it is optimal. The SizeInMBs and IntervalInSeconds parameters are optional. However, if specify a value for one of them, you must also provide a value for the other.

+ pub buffering_hints: ::std::option::Option, + ///

Describes the Amazon CloudWatch logging options for your delivery stream.

+ pub cloud_watch_logging_options: ::std::option::Option, + ///

Describes a data processing configuration.

+ pub processing_configuration: ::std::option::Option, + ///

Describes how Firehose will backup records. Currently,Firehose only supports FailedDataOnly for preview.

+ ///

Amazon Data Firehose is in preview release and is subject to change.

+ pub s3_backup_mode: ::std::option::Option, + ///

The retry behavior in case Firehose is unable to deliver data to an Amazon S3 prefix.

+ pub retry_options: ::std::option::Option, + ///

The Amazon Resource Name (ARN) of the Apache Iceberg Tables role.

+ ///

Amazon Data Firehose is in preview release and is subject to change.

+ pub role_arn: ::std::option::Option<::std::string::String>, + ///

Configuration describing where the destination Iceberg tables are persisted.

+ ///

Amazon Data Firehose is in preview release and is subject to change.

+ pub catalog_configuration: ::std::option::Option, + ///

Describes a destination in Amazon S3.

+ pub s3_destination_description: ::std::option::Option, +} +impl IcebergDestinationDescription { + ///

Provides a list of DestinationTableConfigurations which Firehose uses to deliver data to Apache Iceberg tables.

+ ///

Amazon Data Firehose is in preview release and is subject to change.

+ /// + /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.destination_table_configuration_list.is_none()`. + pub fn destination_table_configuration_list(&self) -> &[crate::types::DestinationTableConfiguration] { + self.destination_table_configuration_list.as_deref().unwrap_or_default() + } + ///

Describes hints for the buffering to perform before delivering data to the destination. These options are treated as hints, and therefore Firehose might choose to use different values when it is optimal. The SizeInMBs and IntervalInSeconds parameters are optional. However, if specify a value for one of them, you must also provide a value for the other.

+ pub fn buffering_hints(&self) -> ::std::option::Option<&crate::types::BufferingHints> { + self.buffering_hints.as_ref() + } + ///

Describes the Amazon CloudWatch logging options for your delivery stream.

+ pub fn cloud_watch_logging_options(&self) -> ::std::option::Option<&crate::types::CloudWatchLoggingOptions> { + self.cloud_watch_logging_options.as_ref() + } + ///

Describes a data processing configuration.

+ pub fn processing_configuration(&self) -> ::std::option::Option<&crate::types::ProcessingConfiguration> { + self.processing_configuration.as_ref() + } + ///

Describes how Firehose will backup records. Currently,Firehose only supports FailedDataOnly for preview.

+ ///

Amazon Data Firehose is in preview release and is subject to change.

+ pub fn s3_backup_mode(&self) -> ::std::option::Option<&crate::types::IcebergS3BackupMode> { + self.s3_backup_mode.as_ref() + } + ///

The retry behavior in case Firehose is unable to deliver data to an Amazon S3 prefix.

+ pub fn retry_options(&self) -> ::std::option::Option<&crate::types::RetryOptions> { + self.retry_options.as_ref() + } + ///

The Amazon Resource Name (ARN) of the Apache Iceberg Tables role.

+ ///

Amazon Data Firehose is in preview release and is subject to change.

+ pub fn role_arn(&self) -> ::std::option::Option<&str> { + self.role_arn.as_deref() + } + ///

Configuration describing where the destination Iceberg tables are persisted.

+ ///

Amazon Data Firehose is in preview release and is subject to change.

+ pub fn catalog_configuration(&self) -> ::std::option::Option<&crate::types::CatalogConfiguration> { + self.catalog_configuration.as_ref() + } + ///

Describes a destination in Amazon S3.

+ pub fn s3_destination_description(&self) -> ::std::option::Option<&crate::types::S3DestinationDescription> { + self.s3_destination_description.as_ref() + } +} +impl IcebergDestinationDescription { + /// Creates a new builder-style object to manufacture [`IcebergDestinationDescription`](crate::types::IcebergDestinationDescription). + pub fn builder() -> crate::types::builders::IcebergDestinationDescriptionBuilder { + crate::types::builders::IcebergDestinationDescriptionBuilder::default() + } +} + +/// A builder for [`IcebergDestinationDescription`](crate::types::IcebergDestinationDescription). +#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)] +#[non_exhaustive] +pub struct IcebergDestinationDescriptionBuilder { + pub(crate) destination_table_configuration_list: ::std::option::Option<::std::vec::Vec>, + pub(crate) buffering_hints: ::std::option::Option, + pub(crate) cloud_watch_logging_options: ::std::option::Option, + pub(crate) processing_configuration: ::std::option::Option, + pub(crate) s3_backup_mode: ::std::option::Option, + pub(crate) retry_options: ::std::option::Option, + pub(crate) role_arn: ::std::option::Option<::std::string::String>, + pub(crate) catalog_configuration: ::std::option::Option, + pub(crate) s3_destination_description: ::std::option::Option, +} +impl IcebergDestinationDescriptionBuilder { + /// Appends an item to `destination_table_configuration_list`. + /// + /// To override the contents of this collection use [`set_destination_table_configuration_list`](Self::set_destination_table_configuration_list). + /// + ///

Provides a list of DestinationTableConfigurations which Firehose uses to deliver data to Apache Iceberg tables.

+ ///

Amazon Data Firehose is in preview release and is subject to change.

+ pub fn destination_table_configuration_list(mut self, input: crate::types::DestinationTableConfiguration) -> Self { + let mut v = self.destination_table_configuration_list.unwrap_or_default(); + v.push(input); + self.destination_table_configuration_list = ::std::option::Option::Some(v); + self + } + ///

Provides a list of DestinationTableConfigurations which Firehose uses to deliver data to Apache Iceberg tables.

+ ///

Amazon Data Firehose is in preview release and is subject to change.

+ pub fn set_destination_table_configuration_list( + mut self, + input: ::std::option::Option<::std::vec::Vec>, + ) -> Self { + self.destination_table_configuration_list = input; + self + } + ///

Provides a list of DestinationTableConfigurations which Firehose uses to deliver data to Apache Iceberg tables.

+ ///

Amazon Data Firehose is in preview release and is subject to change.

+ pub fn get_destination_table_configuration_list(&self) -> &::std::option::Option<::std::vec::Vec> { + &self.destination_table_configuration_list + } + ///

Describes hints for the buffering to perform before delivering data to the destination. These options are treated as hints, and therefore Firehose might choose to use different values when it is optimal. The SizeInMBs and IntervalInSeconds parameters are optional. However, if specify a value for one of them, you must also provide a value for the other.

+ pub fn buffering_hints(mut self, input: crate::types::BufferingHints) -> Self { + self.buffering_hints = ::std::option::Option::Some(input); + self + } + ///

Describes hints for the buffering to perform before delivering data to the destination. These options are treated as hints, and therefore Firehose might choose to use different values when it is optimal. The SizeInMBs and IntervalInSeconds parameters are optional. However, if specify a value for one of them, you must also provide a value for the other.

+ pub fn set_buffering_hints(mut self, input: ::std::option::Option) -> Self { + self.buffering_hints = input; + self + } + ///

Describes hints for the buffering to perform before delivering data to the destination. These options are treated as hints, and therefore Firehose might choose to use different values when it is optimal. The SizeInMBs and IntervalInSeconds parameters are optional. However, if specify a value for one of them, you must also provide a value for the other.

+ pub fn get_buffering_hints(&self) -> &::std::option::Option { + &self.buffering_hints + } + ///

Describes the Amazon CloudWatch logging options for your delivery stream.

+ pub fn cloud_watch_logging_options(mut self, input: crate::types::CloudWatchLoggingOptions) -> Self { + self.cloud_watch_logging_options = ::std::option::Option::Some(input); + self + } + ///

Describes the Amazon CloudWatch logging options for your delivery stream.

+ pub fn set_cloud_watch_logging_options(mut self, input: ::std::option::Option) -> Self { + self.cloud_watch_logging_options = input; + self + } + ///

Describes the Amazon CloudWatch logging options for your delivery stream.

+ pub fn get_cloud_watch_logging_options(&self) -> &::std::option::Option { + &self.cloud_watch_logging_options + } + ///

Describes a data processing configuration.

+ pub fn processing_configuration(mut self, input: crate::types::ProcessingConfiguration) -> Self { + self.processing_configuration = ::std::option::Option::Some(input); + self + } + ///

Describes a data processing configuration.

+ pub fn set_processing_configuration(mut self, input: ::std::option::Option) -> Self { + self.processing_configuration = input; + self + } + ///

Describes a data processing configuration.

+ pub fn get_processing_configuration(&self) -> &::std::option::Option { + &self.processing_configuration + } + ///

Describes how Firehose will backup records. Currently,Firehose only supports FailedDataOnly for preview.

+ ///

Amazon Data Firehose is in preview release and is subject to change.

+ pub fn s3_backup_mode(mut self, input: crate::types::IcebergS3BackupMode) -> Self { + self.s3_backup_mode = ::std::option::Option::Some(input); + self + } + ///

Describes how Firehose will backup records. Currently,Firehose only supports FailedDataOnly for preview.

+ ///

Amazon Data Firehose is in preview release and is subject to change.

+ pub fn set_s3_backup_mode(mut self, input: ::std::option::Option) -> Self { + self.s3_backup_mode = input; + self + } + ///

Describes how Firehose will backup records. Currently,Firehose only supports FailedDataOnly for preview.

+ ///

Amazon Data Firehose is in preview release and is subject to change.

+ pub fn get_s3_backup_mode(&self) -> &::std::option::Option { + &self.s3_backup_mode + } + ///

The retry behavior in case Firehose is unable to deliver data to an Amazon S3 prefix.

+ pub fn retry_options(mut self, input: crate::types::RetryOptions) -> Self { + self.retry_options = ::std::option::Option::Some(input); + self + } + ///

The retry behavior in case Firehose is unable to deliver data to an Amazon S3 prefix.

+ pub fn set_retry_options(mut self, input: ::std::option::Option) -> Self { + self.retry_options = input; + self + } + ///

The retry behavior in case Firehose is unable to deliver data to an Amazon S3 prefix.

+ pub fn get_retry_options(&self) -> &::std::option::Option { + &self.retry_options + } + ///

The Amazon Resource Name (ARN) of the Apache Iceberg Tables role.

+ ///

Amazon Data Firehose is in preview release and is subject to change.

+ pub fn role_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self { + self.role_arn = ::std::option::Option::Some(input.into()); + self + } + ///

The Amazon Resource Name (ARN) of the Apache Iceberg Tables role.

+ ///

Amazon Data Firehose is in preview release and is subject to change.

+ pub fn set_role_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self { + self.role_arn = input; + self + } + ///

The Amazon Resource Name (ARN) of the Apache Iceberg Tables role.

+ ///

Amazon Data Firehose is in preview release and is subject to change.

+ pub fn get_role_arn(&self) -> &::std::option::Option<::std::string::String> { + &self.role_arn + } + ///

Configuration describing where the destination Iceberg tables are persisted.

+ ///

Amazon Data Firehose is in preview release and is subject to change.

+ pub fn catalog_configuration(mut self, input: crate::types::CatalogConfiguration) -> Self { + self.catalog_configuration = ::std::option::Option::Some(input); + self + } + ///

Configuration describing where the destination Iceberg tables are persisted.

+ ///

Amazon Data Firehose is in preview release and is subject to change.

+ pub fn set_catalog_configuration(mut self, input: ::std::option::Option) -> Self { + self.catalog_configuration = input; + self + } + ///

Configuration describing where the destination Iceberg tables are persisted.

+ ///

Amazon Data Firehose is in preview release and is subject to change.

+ pub fn get_catalog_configuration(&self) -> &::std::option::Option { + &self.catalog_configuration + } + ///

Describes a destination in Amazon S3.

+ pub fn s3_destination_description(mut self, input: crate::types::S3DestinationDescription) -> Self { + self.s3_destination_description = ::std::option::Option::Some(input); + self + } + ///

Describes a destination in Amazon S3.

+ pub fn set_s3_destination_description(mut self, input: ::std::option::Option) -> Self { + self.s3_destination_description = input; + self + } + ///

Describes a destination in Amazon S3.

+ pub fn get_s3_destination_description(&self) -> &::std::option::Option { + &self.s3_destination_description + } + /// Consumes the builder and constructs a [`IcebergDestinationDescription`](crate::types::IcebergDestinationDescription). + pub fn build(self) -> crate::types::IcebergDestinationDescription { + crate::types::IcebergDestinationDescription { + destination_table_configuration_list: self.destination_table_configuration_list, + buffering_hints: self.buffering_hints, + cloud_watch_logging_options: self.cloud_watch_logging_options, + processing_configuration: self.processing_configuration, + s3_backup_mode: self.s3_backup_mode, + retry_options: self.retry_options, + role_arn: self.role_arn, + catalog_configuration: self.catalog_configuration, + s3_destination_description: self.s3_destination_description, + } + } +} diff --git a/sdk/firehose/src/types/_iceberg_destination_update.rs b/sdk/firehose/src/types/_iceberg_destination_update.rs new file mode 100644 index 000000000000..54b19300c427 --- /dev/null +++ b/sdk/firehose/src/types/_iceberg_destination_update.rs @@ -0,0 +1,258 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. + +///

Describes an update for a destination in Apache Iceberg Tables.

+///

Amazon Data Firehose is in preview release and is subject to change.

+#[non_exhaustive] +#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)] +pub struct IcebergDestinationUpdate { + ///

Provides a list of DestinationTableConfigurations which Firehose uses to deliver data to Apache Iceberg tables.

+ ///

Amazon Data Firehose is in preview release and is subject to change.

+ pub destination_table_configuration_list: ::std::option::Option<::std::vec::Vec>, + ///

Describes hints for the buffering to perform before delivering data to the destination. These options are treated as hints, and therefore Firehose might choose to use different values when it is optimal. The SizeInMBs and IntervalInSeconds parameters are optional. However, if specify a value for one of them, you must also provide a value for the other.

+ pub buffering_hints: ::std::option::Option, + ///

Describes the Amazon CloudWatch logging options for your delivery stream.

+ pub cloud_watch_logging_options: ::std::option::Option, + ///

Describes a data processing configuration.

+ pub processing_configuration: ::std::option::Option, + ///

Describes how Firehose will backup records. Currently,Firehose only supports FailedDataOnly for preview.

+ ///

Amazon Data Firehose is in preview release and is subject to change.

+ pub s3_backup_mode: ::std::option::Option, + ///

The retry behavior in case Firehose is unable to deliver data to an Amazon S3 prefix.

+ pub retry_options: ::std::option::Option, + ///

The Amazon Resource Name (ARN) of the Apache Iceberg Tables role.

+ ///

Amazon Data Firehose is in preview release and is subject to change.

+ pub role_arn: ::std::option::Option<::std::string::String>, + ///

Configuration describing where the destination Iceberg tables are persisted.

+ ///

Amazon Data Firehose is in preview release and is subject to change.

+ pub catalog_configuration: ::std::option::Option, + ///

Describes the configuration of a destination in Amazon S3.

+ pub s3_configuration: ::std::option::Option, +} +impl IcebergDestinationUpdate { + ///

Provides a list of DestinationTableConfigurations which Firehose uses to deliver data to Apache Iceberg tables.

+ ///

Amazon Data Firehose is in preview release and is subject to change.

+ /// + /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.destination_table_configuration_list.is_none()`. + pub fn destination_table_configuration_list(&self) -> &[crate::types::DestinationTableConfiguration] { + self.destination_table_configuration_list.as_deref().unwrap_or_default() + } + ///

Describes hints for the buffering to perform before delivering data to the destination. These options are treated as hints, and therefore Firehose might choose to use different values when it is optimal. The SizeInMBs and IntervalInSeconds parameters are optional. However, if specify a value for one of them, you must also provide a value for the other.

+ pub fn buffering_hints(&self) -> ::std::option::Option<&crate::types::BufferingHints> { + self.buffering_hints.as_ref() + } + ///

Describes the Amazon CloudWatch logging options for your delivery stream.

+ pub fn cloud_watch_logging_options(&self) -> ::std::option::Option<&crate::types::CloudWatchLoggingOptions> { + self.cloud_watch_logging_options.as_ref() + } + ///

Describes a data processing configuration.

+ pub fn processing_configuration(&self) -> ::std::option::Option<&crate::types::ProcessingConfiguration> { + self.processing_configuration.as_ref() + } + ///

Describes how Firehose will backup records. Currently,Firehose only supports FailedDataOnly for preview.

+ ///

Amazon Data Firehose is in preview release and is subject to change.

+ pub fn s3_backup_mode(&self) -> ::std::option::Option<&crate::types::IcebergS3BackupMode> { + self.s3_backup_mode.as_ref() + } + ///

The retry behavior in case Firehose is unable to deliver data to an Amazon S3 prefix.

+ pub fn retry_options(&self) -> ::std::option::Option<&crate::types::RetryOptions> { + self.retry_options.as_ref() + } + ///

The Amazon Resource Name (ARN) of the Apache Iceberg Tables role.

+ ///

Amazon Data Firehose is in preview release and is subject to change.

+ pub fn role_arn(&self) -> ::std::option::Option<&str> { + self.role_arn.as_deref() + } + ///

Configuration describing where the destination Iceberg tables are persisted.

+ ///

Amazon Data Firehose is in preview release and is subject to change.

+ pub fn catalog_configuration(&self) -> ::std::option::Option<&crate::types::CatalogConfiguration> { + self.catalog_configuration.as_ref() + } + ///

Describes the configuration of a destination in Amazon S3.

+ pub fn s3_configuration(&self) -> ::std::option::Option<&crate::types::S3DestinationConfiguration> { + self.s3_configuration.as_ref() + } +} +impl IcebergDestinationUpdate { + /// Creates a new builder-style object to manufacture [`IcebergDestinationUpdate`](crate::types::IcebergDestinationUpdate). + pub fn builder() -> crate::types::builders::IcebergDestinationUpdateBuilder { + crate::types::builders::IcebergDestinationUpdateBuilder::default() + } +} + +/// A builder for [`IcebergDestinationUpdate`](crate::types::IcebergDestinationUpdate). +#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)] +#[non_exhaustive] +pub struct IcebergDestinationUpdateBuilder { + pub(crate) destination_table_configuration_list: ::std::option::Option<::std::vec::Vec>, + pub(crate) buffering_hints: ::std::option::Option, + pub(crate) cloud_watch_logging_options: ::std::option::Option, + pub(crate) processing_configuration: ::std::option::Option, + pub(crate) s3_backup_mode: ::std::option::Option, + pub(crate) retry_options: ::std::option::Option, + pub(crate) role_arn: ::std::option::Option<::std::string::String>, + pub(crate) catalog_configuration: ::std::option::Option, + pub(crate) s3_configuration: ::std::option::Option, +} +impl IcebergDestinationUpdateBuilder { + /// Appends an item to `destination_table_configuration_list`. + /// + /// To override the contents of this collection use [`set_destination_table_configuration_list`](Self::set_destination_table_configuration_list). + /// + ///

Provides a list of DestinationTableConfigurations which Firehose uses to deliver data to Apache Iceberg tables.

+ ///

Amazon Data Firehose is in preview release and is subject to change.

+ pub fn destination_table_configuration_list(mut self, input: crate::types::DestinationTableConfiguration) -> Self { + let mut v = self.destination_table_configuration_list.unwrap_or_default(); + v.push(input); + self.destination_table_configuration_list = ::std::option::Option::Some(v); + self + } + ///

Provides a list of DestinationTableConfigurations which Firehose uses to deliver data to Apache Iceberg tables.

+ ///

Amazon Data Firehose is in preview release and is subject to change.

+ pub fn set_destination_table_configuration_list( + mut self, + input: ::std::option::Option<::std::vec::Vec>, + ) -> Self { + self.destination_table_configuration_list = input; + self + } + ///

Provides a list of DestinationTableConfigurations which Firehose uses to deliver data to Apache Iceberg tables.

+ ///

Amazon Data Firehose is in preview release and is subject to change.

+ pub fn get_destination_table_configuration_list(&self) -> &::std::option::Option<::std::vec::Vec> { + &self.destination_table_configuration_list + } + ///

Describes hints for the buffering to perform before delivering data to the destination. These options are treated as hints, and therefore Firehose might choose to use different values when it is optimal. The SizeInMBs and IntervalInSeconds parameters are optional. However, if specify a value for one of them, you must also provide a value for the other.

+ pub fn buffering_hints(mut self, input: crate::types::BufferingHints) -> Self { + self.buffering_hints = ::std::option::Option::Some(input); + self + } + ///

Describes hints for the buffering to perform before delivering data to the destination. These options are treated as hints, and therefore Firehose might choose to use different values when it is optimal. The SizeInMBs and IntervalInSeconds parameters are optional. However, if specify a value for one of them, you must also provide a value for the other.

+ pub fn set_buffering_hints(mut self, input: ::std::option::Option) -> Self { + self.buffering_hints = input; + self + } + ///

Describes hints for the buffering to perform before delivering data to the destination. These options are treated as hints, and therefore Firehose might choose to use different values when it is optimal. The SizeInMBs and IntervalInSeconds parameters are optional. However, if specify a value for one of them, you must also provide a value for the other.

+ pub fn get_buffering_hints(&self) -> &::std::option::Option { + &self.buffering_hints + } + ///

Describes the Amazon CloudWatch logging options for your delivery stream.

+ pub fn cloud_watch_logging_options(mut self, input: crate::types::CloudWatchLoggingOptions) -> Self { + self.cloud_watch_logging_options = ::std::option::Option::Some(input); + self + } + ///

Describes the Amazon CloudWatch logging options for your delivery stream.

+ pub fn set_cloud_watch_logging_options(mut self, input: ::std::option::Option) -> Self { + self.cloud_watch_logging_options = input; + self + } + ///

Describes the Amazon CloudWatch logging options for your delivery stream.

+ pub fn get_cloud_watch_logging_options(&self) -> &::std::option::Option { + &self.cloud_watch_logging_options + } + ///

Describes a data processing configuration.

+ pub fn processing_configuration(mut self, input: crate::types::ProcessingConfiguration) -> Self { + self.processing_configuration = ::std::option::Option::Some(input); + self + } + ///

Describes a data processing configuration.

+ pub fn set_processing_configuration(mut self, input: ::std::option::Option) -> Self { + self.processing_configuration = input; + self + } + ///

Describes a data processing configuration.

+ pub fn get_processing_configuration(&self) -> &::std::option::Option { + &self.processing_configuration + } + ///

Describes how Firehose will backup records. Currently,Firehose only supports FailedDataOnly for preview.

+ ///

Amazon Data Firehose is in preview release and is subject to change.

+ pub fn s3_backup_mode(mut self, input: crate::types::IcebergS3BackupMode) -> Self { + self.s3_backup_mode = ::std::option::Option::Some(input); + self + } + ///

Describes how Firehose will backup records. Currently,Firehose only supports FailedDataOnly for preview.

+ ///

Amazon Data Firehose is in preview release and is subject to change.

+ pub fn set_s3_backup_mode(mut self, input: ::std::option::Option) -> Self { + self.s3_backup_mode = input; + self + } + ///

Describes how Firehose will backup records. Currently,Firehose only supports FailedDataOnly for preview.

+ ///

Amazon Data Firehose is in preview release and is subject to change.

+ pub fn get_s3_backup_mode(&self) -> &::std::option::Option { + &self.s3_backup_mode + } + ///

The retry behavior in case Firehose is unable to deliver data to an Amazon S3 prefix.

+ pub fn retry_options(mut self, input: crate::types::RetryOptions) -> Self { + self.retry_options = ::std::option::Option::Some(input); + self + } + ///

The retry behavior in case Firehose is unable to deliver data to an Amazon S3 prefix.

+ pub fn set_retry_options(mut self, input: ::std::option::Option) -> Self { + self.retry_options = input; + self + } + ///

The retry behavior in case Firehose is unable to deliver data to an Amazon S3 prefix.

+ pub fn get_retry_options(&self) -> &::std::option::Option { + &self.retry_options + } + ///

The Amazon Resource Name (ARN) of the Apache Iceberg Tables role.

+ ///

Amazon Data Firehose is in preview release and is subject to change.

+ pub fn role_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self { + self.role_arn = ::std::option::Option::Some(input.into()); + self + } + ///

The Amazon Resource Name (ARN) of the Apache Iceberg Tables role.

+ ///

Amazon Data Firehose is in preview release and is subject to change.

+ pub fn set_role_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self { + self.role_arn = input; + self + } + ///

The Amazon Resource Name (ARN) of the Apache Iceberg Tables role.

+ ///

Amazon Data Firehose is in preview release and is subject to change.

+ pub fn get_role_arn(&self) -> &::std::option::Option<::std::string::String> { + &self.role_arn + } + ///

Configuration describing where the destination Iceberg tables are persisted.

+ ///

Amazon Data Firehose is in preview release and is subject to change.

+ pub fn catalog_configuration(mut self, input: crate::types::CatalogConfiguration) -> Self { + self.catalog_configuration = ::std::option::Option::Some(input); + self + } + ///

Configuration describing where the destination Iceberg tables are persisted.

+ ///

Amazon Data Firehose is in preview release and is subject to change.

+ pub fn set_catalog_configuration(mut self, input: ::std::option::Option) -> Self { + self.catalog_configuration = input; + self + } + ///

Configuration describing where the destination Iceberg tables are persisted.

+ ///

Amazon Data Firehose is in preview release and is subject to change.

+ pub fn get_catalog_configuration(&self) -> &::std::option::Option { + &self.catalog_configuration + } + ///

Describes the configuration of a destination in Amazon S3.

+ pub fn s3_configuration(mut self, input: crate::types::S3DestinationConfiguration) -> Self { + self.s3_configuration = ::std::option::Option::Some(input); + self + } + ///

Describes the configuration of a destination in Amazon S3.

+ pub fn set_s3_configuration(mut self, input: ::std::option::Option) -> Self { + self.s3_configuration = input; + self + } + ///

Describes the configuration of a destination in Amazon S3.

+ pub fn get_s3_configuration(&self) -> &::std::option::Option { + &self.s3_configuration + } + /// Consumes the builder and constructs a [`IcebergDestinationUpdate`](crate::types::IcebergDestinationUpdate). + pub fn build(self) -> crate::types::IcebergDestinationUpdate { + crate::types::IcebergDestinationUpdate { + destination_table_configuration_list: self.destination_table_configuration_list, + buffering_hints: self.buffering_hints, + cloud_watch_logging_options: self.cloud_watch_logging_options, + processing_configuration: self.processing_configuration, + s3_backup_mode: self.s3_backup_mode, + retry_options: self.retry_options, + role_arn: self.role_arn, + catalog_configuration: self.catalog_configuration, + s3_configuration: self.s3_configuration, + } + } +} diff --git a/sdk/firehose/src/types/_iceberg_s3_backup_mode.rs b/sdk/firehose/src/types/_iceberg_s3_backup_mode.rs new file mode 100644 index 000000000000..3dfd57d00ebd --- /dev/null +++ b/sdk/firehose/src/types/_iceberg_s3_backup_mode.rs @@ -0,0 +1,107 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. + +/// When writing a match expression against `IcebergS3BackupMode`, it is important to ensure +/// your code is forward-compatible. That is, if a match arm handles a case for a +/// feature that is supported by the service but has not been represented as an enum +/// variant in a current version of SDK, your code should continue to work when you +/// upgrade SDK to a future version in which the enum does include a variant for that +/// feature. +/// +/// Here is an example of how you can make a match expression forward-compatible: +/// +/// ```text +/// # let icebergs3backupmode = unimplemented!(); +/// match icebergs3backupmode { +/// IcebergS3BackupMode::AllData => { /* ... */ }, +/// IcebergS3BackupMode::FailedDataOnly => { /* ... */ }, +/// other @ _ if other.as_str() == "NewFeature" => { /* handles a case for `NewFeature` */ }, +/// _ => { /* ... */ }, +/// } +/// ``` +/// The above code demonstrates that when `icebergs3backupmode` represents +/// `NewFeature`, the execution path will lead to the second last match arm, +/// even though the enum does not contain a variant `IcebergS3BackupMode::NewFeature` +/// in the current version of SDK. The reason is that the variable `other`, +/// created by the `@` operator, is bound to +/// `IcebergS3BackupMode::Unknown(UnknownVariantValue("NewFeature".to_owned()))` +/// and calling `as_str` on it yields `"NewFeature"`. +/// This match expression is forward-compatible when executed with a newer +/// version of SDK where the variant `IcebergS3BackupMode::NewFeature` is defined. +/// Specifically, when `icebergs3backupmode` represents `NewFeature`, +/// the execution path will hit the second last match arm as before by virtue of +/// calling `as_str` on `IcebergS3BackupMode::NewFeature` also yielding `"NewFeature"`. +/// +/// Explicitly matching on the `Unknown` variant should +/// be avoided for two reasons: +/// - The inner data `UnknownVariantValue` is opaque, and no further information can be extracted. +/// - It might inadvertently shadow other intended match arms. +#[allow(missing_docs)] // documentation missing in model +#[non_exhaustive] +#[derive( + ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::Ord, ::std::cmp::PartialEq, ::std::cmp::PartialOrd, ::std::fmt::Debug, ::std::hash::Hash, +)] +pub enum IcebergS3BackupMode { + #[allow(missing_docs)] // documentation missing in model + AllData, + #[allow(missing_docs)] // documentation missing in model + FailedDataOnly, + /// `Unknown` contains new variants that have been added since this code was generated. + #[deprecated(note = "Don't directly match on `Unknown`. See the docs on this enum for the correct way to handle unknown variants.")] + Unknown(crate::primitives::sealed_enum_unknown::UnknownVariantValue), +} +impl ::std::convert::From<&str> for IcebergS3BackupMode { + fn from(s: &str) -> Self { + match s { + "AllData" => IcebergS3BackupMode::AllData, + "FailedDataOnly" => IcebergS3BackupMode::FailedDataOnly, + other => IcebergS3BackupMode::Unknown(crate::primitives::sealed_enum_unknown::UnknownVariantValue(other.to_owned())), + } + } +} +impl ::std::str::FromStr for IcebergS3BackupMode { + type Err = ::std::convert::Infallible; + + fn from_str(s: &str) -> ::std::result::Result::Err> { + ::std::result::Result::Ok(IcebergS3BackupMode::from(s)) + } +} +impl IcebergS3BackupMode { + /// Returns the `&str` value of the enum member. + pub fn as_str(&self) -> &str { + match self { + IcebergS3BackupMode::AllData => "AllData", + IcebergS3BackupMode::FailedDataOnly => "FailedDataOnly", + IcebergS3BackupMode::Unknown(value) => value.as_str(), + } + } + /// Returns all the `&str` representations of the enum members. + pub const fn values() -> &'static [&'static str] { + &["AllData", "FailedDataOnly"] + } +} +impl ::std::convert::AsRef for IcebergS3BackupMode { + fn as_ref(&self) -> &str { + self.as_str() + } +} +impl IcebergS3BackupMode { + /// Parses the enum value while disallowing unknown variants. + /// + /// Unknown variants will result in an error. + pub fn try_parse(value: &str) -> ::std::result::Result { + match Self::from(value) { + #[allow(deprecated)] + Self::Unknown(_) => ::std::result::Result::Err(crate::error::UnknownVariantError::new(value)), + known => Ok(known), + } + } +} +impl ::std::fmt::Display for IcebergS3BackupMode { + fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { + match self { + IcebergS3BackupMode::AllData => write!(f, "AllData"), + IcebergS3BackupMode::FailedDataOnly => write!(f, "FailedDataOnly"), + IcebergS3BackupMode::Unknown(value) => write!(f, "{}", value), + } + } +} diff --git a/sdk/firehose/src/types/_msk_source_configuration.rs b/sdk/firehose/src/types/_msk_source_configuration.rs index 7f66af1951a7..ffa5dfd94a0e 100644 --- a/sdk/firehose/src/types/_msk_source_configuration.rs +++ b/sdk/firehose/src/types/_msk_source_configuration.rs @@ -10,6 +10,9 @@ pub struct MskSourceConfiguration { pub topic_name: ::std::string::String, ///

The authentication configuration of the Amazon MSK cluster.

pub authentication_configuration: ::std::option::Option, + ///

The start date and time in UTC for the offset position within your MSK topic from where Firehose begins to read. By default, this is set to timestamp when Firehose becomes Active.

+ ///

If you want to create a Firehose stream with Earliest start position from SDK or CLI, you need to set the ReadFromTimestamp parameter to Epoch (1970-01-01T00:00:00Z).

+ pub read_from_timestamp: ::std::option::Option<::aws_smithy_types::DateTime>, } impl MskSourceConfiguration { ///

The ARN of the Amazon MSK cluster.

@@ -26,6 +29,11 @@ impl MskSourceConfiguration { pub fn authentication_configuration(&self) -> ::std::option::Option<&crate::types::AuthenticationConfiguration> { self.authentication_configuration.as_ref() } + ///

The start date and time in UTC for the offset position within your MSK topic from where Firehose begins to read. By default, this is set to timestamp when Firehose becomes Active.

+ ///

If you want to create a Firehose stream with Earliest start position from SDK or CLI, you need to set the ReadFromTimestamp parameter to Epoch (1970-01-01T00:00:00Z).

+ pub fn read_from_timestamp(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> { + self.read_from_timestamp.as_ref() + } } impl MskSourceConfiguration { /// Creates a new builder-style object to manufacture [`MskSourceConfiguration`](crate::types::MskSourceConfiguration). @@ -41,6 +49,7 @@ pub struct MskSourceConfigurationBuilder { pub(crate) msk_cluster_arn: ::std::option::Option<::std::string::String>, pub(crate) topic_name: ::std::option::Option<::std::string::String>, pub(crate) authentication_configuration: ::std::option::Option, + pub(crate) read_from_timestamp: ::std::option::Option<::aws_smithy_types::DateTime>, } impl MskSourceConfigurationBuilder { ///

The ARN of the Amazon MSK cluster.

@@ -88,6 +97,23 @@ impl MskSourceConfigurationBuilder { pub fn get_authentication_configuration(&self) -> &::std::option::Option { &self.authentication_configuration } + ///

The start date and time in UTC for the offset position within your MSK topic from where Firehose begins to read. By default, this is set to timestamp when Firehose becomes Active.

+ ///

If you want to create a Firehose stream with Earliest start position from SDK or CLI, you need to set the ReadFromTimestamp parameter to Epoch (1970-01-01T00:00:00Z).

+ pub fn read_from_timestamp(mut self, input: ::aws_smithy_types::DateTime) -> Self { + self.read_from_timestamp = ::std::option::Option::Some(input); + self + } + ///

The start date and time in UTC for the offset position within your MSK topic from where Firehose begins to read. By default, this is set to timestamp when Firehose becomes Active.

+ ///

If you want to create a Firehose stream with Earliest start position from SDK or CLI, you need to set the ReadFromTimestamp parameter to Epoch (1970-01-01T00:00:00Z).

+ pub fn set_read_from_timestamp(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self { + self.read_from_timestamp = input; + self + } + ///

The start date and time in UTC for the offset position within your MSK topic from where Firehose begins to read. By default, this is set to timestamp when Firehose becomes Active.

+ ///

If you want to create a Firehose stream with Earliest start position from SDK or CLI, you need to set the ReadFromTimestamp parameter to Epoch (1970-01-01T00:00:00Z).

+ pub fn get_read_from_timestamp(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> { + &self.read_from_timestamp + } /// Consumes the builder and constructs a [`MskSourceConfiguration`](crate::types::MskSourceConfiguration). /// This method will fail if any of the following fields are not set: /// - [`msk_cluster_arn`](crate::types::builders::MskSourceConfigurationBuilder::msk_cluster_arn) @@ -107,6 +133,7 @@ impl MskSourceConfigurationBuilder { ) })?, authentication_configuration: self.authentication_configuration, + read_from_timestamp: self.read_from_timestamp, }) } } diff --git a/sdk/firehose/src/types/_msk_source_description.rs b/sdk/firehose/src/types/_msk_source_description.rs index be948f1deaef..882fa2252695 100644 --- a/sdk/firehose/src/types/_msk_source_description.rs +++ b/sdk/firehose/src/types/_msk_source_description.rs @@ -12,6 +12,9 @@ pub struct MskSourceDescription { pub authentication_configuration: ::std::option::Option, ///

Firehose starts retrieving records from the topic within the Amazon MSK cluster starting with this timestamp.

pub delivery_start_timestamp: ::std::option::Option<::aws_smithy_types::DateTime>, + ///

The start date and time in UTC for the offset position within your MSK topic from where Firehose begins to read. By default, this is set to timestamp when Firehose becomes Active.

+ ///

If you want to create a Firehose stream with Earliest start position from SDK or CLI, you need to set the ReadFromTimestampUTC parameter to Epoch (1970-01-01T00:00:00Z).

+ pub read_from_timestamp: ::std::option::Option<::aws_smithy_types::DateTime>, } impl MskSourceDescription { ///

The ARN of the Amazon MSK cluster.

@@ -30,6 +33,11 @@ impl MskSourceDescription { pub fn delivery_start_timestamp(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> { self.delivery_start_timestamp.as_ref() } + ///

The start date and time in UTC for the offset position within your MSK topic from where Firehose begins to read. By default, this is set to timestamp when Firehose becomes Active.

+ ///

If you want to create a Firehose stream with Earliest start position from SDK or CLI, you need to set the ReadFromTimestampUTC parameter to Epoch (1970-01-01T00:00:00Z).

+ pub fn read_from_timestamp(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> { + self.read_from_timestamp.as_ref() + } } impl MskSourceDescription { /// Creates a new builder-style object to manufacture [`MskSourceDescription`](crate::types::MskSourceDescription). @@ -46,6 +54,7 @@ pub struct MskSourceDescriptionBuilder { pub(crate) topic_name: ::std::option::Option<::std::string::String>, pub(crate) authentication_configuration: ::std::option::Option, pub(crate) delivery_start_timestamp: ::std::option::Option<::aws_smithy_types::DateTime>, + pub(crate) read_from_timestamp: ::std::option::Option<::aws_smithy_types::DateTime>, } impl MskSourceDescriptionBuilder { ///

The ARN of the Amazon MSK cluster.

@@ -104,6 +113,23 @@ impl MskSourceDescriptionBuilder { pub fn get_delivery_start_timestamp(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> { &self.delivery_start_timestamp } + ///

The start date and time in UTC for the offset position within your MSK topic from where Firehose begins to read. By default, this is set to timestamp when Firehose becomes Active.

+ ///

If you want to create a Firehose stream with Earliest start position from SDK or CLI, you need to set the ReadFromTimestampUTC parameter to Epoch (1970-01-01T00:00:00Z).

+ pub fn read_from_timestamp(mut self, input: ::aws_smithy_types::DateTime) -> Self { + self.read_from_timestamp = ::std::option::Option::Some(input); + self + } + ///

The start date and time in UTC for the offset position within your MSK topic from where Firehose begins to read. By default, this is set to timestamp when Firehose becomes Active.

+ ///

If you want to create a Firehose stream with Earliest start position from SDK or CLI, you need to set the ReadFromTimestampUTC parameter to Epoch (1970-01-01T00:00:00Z).

+ pub fn set_read_from_timestamp(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self { + self.read_from_timestamp = input; + self + } + ///

The start date and time in UTC for the offset position within your MSK topic from where Firehose begins to read. By default, this is set to timestamp when Firehose becomes Active.

+ ///

If you want to create a Firehose stream with Earliest start position from SDK or CLI, you need to set the ReadFromTimestampUTC parameter to Epoch (1970-01-01T00:00:00Z).

+ pub fn get_read_from_timestamp(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> { + &self.read_from_timestamp + } /// Consumes the builder and constructs a [`MskSourceDescription`](crate::types::MskSourceDescription). pub fn build(self) -> crate::types::MskSourceDescription { crate::types::MskSourceDescription { @@ -111,6 +137,7 @@ impl MskSourceDescriptionBuilder { topic_name: self.topic_name, authentication_configuration: self.authentication_configuration, delivery_start_timestamp: self.delivery_start_timestamp, + read_from_timestamp: self.read_from_timestamp, } } } diff --git a/sdk/firehose/src/types/_snowflake_buffering_hints.rs b/sdk/firehose/src/types/_snowflake_buffering_hints.rs new file mode 100644 index 000000000000..7e1c4711d123 --- /dev/null +++ b/sdk/firehose/src/types/_snowflake_buffering_hints.rs @@ -0,0 +1,72 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. + +///

Describes the buffering to perform before delivering data to the Snowflake destination. If you do not specify any value, Firehose uses the default values.

+#[non_exhaustive] +#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)] +pub struct SnowflakeBufferingHints { + ///

Buffer incoming data to the specified size, in MBs, before delivering it to the destination. The default value is 1.

+ pub size_in_mbs: ::std::option::Option, + ///

Buffer incoming data for the specified period of time, in seconds, before delivering it to the destination. The default value is 0.

+ pub interval_in_seconds: ::std::option::Option, +} +impl SnowflakeBufferingHints { + ///

Buffer incoming data to the specified size, in MBs, before delivering it to the destination. The default value is 1.

+ pub fn size_in_mbs(&self) -> ::std::option::Option { + self.size_in_mbs + } + ///

Buffer incoming data for the specified period of time, in seconds, before delivering it to the destination. The default value is 0.

+ pub fn interval_in_seconds(&self) -> ::std::option::Option { + self.interval_in_seconds + } +} +impl SnowflakeBufferingHints { + /// Creates a new builder-style object to manufacture [`SnowflakeBufferingHints`](crate::types::SnowflakeBufferingHints). + pub fn builder() -> crate::types::builders::SnowflakeBufferingHintsBuilder { + crate::types::builders::SnowflakeBufferingHintsBuilder::default() + } +} + +/// A builder for [`SnowflakeBufferingHints`](crate::types::SnowflakeBufferingHints). +#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)] +#[non_exhaustive] +pub struct SnowflakeBufferingHintsBuilder { + pub(crate) size_in_mbs: ::std::option::Option, + pub(crate) interval_in_seconds: ::std::option::Option, +} +impl SnowflakeBufferingHintsBuilder { + ///

Buffer incoming data to the specified size, in MBs, before delivering it to the destination. The default value is 1.

+ pub fn size_in_mbs(mut self, input: i32) -> Self { + self.size_in_mbs = ::std::option::Option::Some(input); + self + } + ///

Buffer incoming data to the specified size, in MBs, before delivering it to the destination. The default value is 1.

+ pub fn set_size_in_mbs(mut self, input: ::std::option::Option) -> Self { + self.size_in_mbs = input; + self + } + ///

Buffer incoming data to the specified size, in MBs, before delivering it to the destination. The default value is 1.

+ pub fn get_size_in_mbs(&self) -> &::std::option::Option { + &self.size_in_mbs + } + ///

Buffer incoming data for the specified period of time, in seconds, before delivering it to the destination. The default value is 0.

+ pub fn interval_in_seconds(mut self, input: i32) -> Self { + self.interval_in_seconds = ::std::option::Option::Some(input); + self + } + ///

Buffer incoming data for the specified period of time, in seconds, before delivering it to the destination. The default value is 0.

+ pub fn set_interval_in_seconds(mut self, input: ::std::option::Option) -> Self { + self.interval_in_seconds = input; + self + } + ///

Buffer incoming data for the specified period of time, in seconds, before delivering it to the destination. The default value is 0.

+ pub fn get_interval_in_seconds(&self) -> &::std::option::Option { + &self.interval_in_seconds + } + /// Consumes the builder and constructs a [`SnowflakeBufferingHints`](crate::types::SnowflakeBufferingHints). + pub fn build(self) -> crate::types::SnowflakeBufferingHints { + crate::types::SnowflakeBufferingHints { + size_in_mbs: self.size_in_mbs, + interval_in_seconds: self.interval_in_seconds, + } + } +} diff --git a/sdk/firehose/src/types/_snowflake_destination_configuration.rs b/sdk/firehose/src/types/_snowflake_destination_configuration.rs index 947462952838..94d5947d62ab 100644 --- a/sdk/firehose/src/types/_snowflake_destination_configuration.rs +++ b/sdk/firehose/src/types/_snowflake_destination_configuration.rs @@ -42,6 +42,8 @@ pub struct SnowflakeDestinationConfiguration { pub s3_configuration: ::std::option::Option, ///

The configuration that defines how you access secrets for Snowflake.

pub secrets_manager_configuration: ::std::option::Option, + ///

Describes the buffering to perform before delivering data to the Snowflake destination. If you do not specify any value, Firehose uses the default values.

+ pub buffering_hints: ::std::option::Option, } impl SnowflakeDestinationConfiguration { ///

URL for accessing your Snowflake account. This URL must include your account identifier. Note that the protocol (https://) and port number are optional.

@@ -125,6 +127,10 @@ impl SnowflakeDestinationConfiguration { pub fn secrets_manager_configuration(&self) -> ::std::option::Option<&crate::types::SecretsManagerConfiguration> { self.secrets_manager_configuration.as_ref() } + ///

Describes the buffering to perform before delivering data to the Snowflake destination. If you do not specify any value, Firehose uses the default values.

+ pub fn buffering_hints(&self) -> ::std::option::Option<&crate::types::SnowflakeBufferingHints> { + self.buffering_hints.as_ref() + } } impl ::std::fmt::Debug for SnowflakeDestinationConfiguration { fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result { @@ -148,6 +154,7 @@ impl ::std::fmt::Debug for SnowflakeDestinationConfiguration { formatter.field("s3_backup_mode", &self.s3_backup_mode); formatter.field("s3_configuration", &self.s3_configuration); formatter.field("secrets_manager_configuration", &self.secrets_manager_configuration); + formatter.field("buffering_hints", &self.buffering_hints); formatter.finish() } } @@ -181,6 +188,7 @@ pub struct SnowflakeDestinationConfigurationBuilder { pub(crate) s3_backup_mode: ::std::option::Option, pub(crate) s3_configuration: ::std::option::Option, pub(crate) secrets_manager_configuration: ::std::option::Option, + pub(crate) buffering_hints: ::std::option::Option, } impl SnowflakeDestinationConfigurationBuilder { ///

URL for accessing your Snowflake account. This URL must include your account identifier. Note that the protocol (https://) and port number are optional.

@@ -455,6 +463,20 @@ impl SnowflakeDestinationConfigurationBuilder { pub fn get_secrets_manager_configuration(&self) -> &::std::option::Option { &self.secrets_manager_configuration } + ///

Describes the buffering to perform before delivering data to the Snowflake destination. If you do not specify any value, Firehose uses the default values.

+ pub fn buffering_hints(mut self, input: crate::types::SnowflakeBufferingHints) -> Self { + self.buffering_hints = ::std::option::Option::Some(input); + self + } + ///

Describes the buffering to perform before delivering data to the Snowflake destination. If you do not specify any value, Firehose uses the default values.

+ pub fn set_buffering_hints(mut self, input: ::std::option::Option) -> Self { + self.buffering_hints = input; + self + } + ///

Describes the buffering to perform before delivering data to the Snowflake destination. If you do not specify any value, Firehose uses the default values.

+ pub fn get_buffering_hints(&self) -> &::std::option::Option { + &self.buffering_hints + } /// Consumes the builder and constructs a [`SnowflakeDestinationConfiguration`](crate::types::SnowflakeDestinationConfiguration). /// This method will fail if any of the following fields are not set: /// - [`account_url`](crate::types::builders::SnowflakeDestinationConfigurationBuilder::account_url) @@ -508,6 +530,7 @@ impl SnowflakeDestinationConfigurationBuilder { s3_backup_mode: self.s3_backup_mode, s3_configuration: self.s3_configuration, secrets_manager_configuration: self.secrets_manager_configuration, + buffering_hints: self.buffering_hints, }) } } @@ -533,6 +556,7 @@ impl ::std::fmt::Debug for SnowflakeDestinationConfigurationBuilder { formatter.field("s3_backup_mode", &self.s3_backup_mode); formatter.field("s3_configuration", &self.s3_configuration); formatter.field("secrets_manager_configuration", &self.secrets_manager_configuration); + formatter.field("buffering_hints", &self.buffering_hints); formatter.finish() } } diff --git a/sdk/firehose/src/types/_snowflake_destination_description.rs b/sdk/firehose/src/types/_snowflake_destination_description.rs index 9b06c473f0dd..77e8f2547865 100644 --- a/sdk/firehose/src/types/_snowflake_destination_description.rs +++ b/sdk/firehose/src/types/_snowflake_destination_description.rs @@ -38,6 +38,8 @@ pub struct SnowflakeDestinationDescription { pub s3_destination_description: ::std::option::Option, ///

The configuration that defines how you access secrets for Snowflake.

pub secrets_manager_configuration: ::std::option::Option, + ///

Describes the buffering to perform before delivering data to the Snowflake destination. If you do not specify any value, Firehose uses the default values.

+ pub buffering_hints: ::std::option::Option, } impl SnowflakeDestinationDescription { ///

URL for accessing your Snowflake account. This URL must include your account identifier. Note that the protocol (https://) and port number are optional.

@@ -108,6 +110,10 @@ impl SnowflakeDestinationDescription { pub fn secrets_manager_configuration(&self) -> ::std::option::Option<&crate::types::SecretsManagerConfiguration> { self.secrets_manager_configuration.as_ref() } + ///

Describes the buffering to perform before delivering data to the Snowflake destination. If you do not specify any value, Firehose uses the default values.

+ pub fn buffering_hints(&self) -> ::std::option::Option<&crate::types::SnowflakeBufferingHints> { + self.buffering_hints.as_ref() + } } impl ::std::fmt::Debug for SnowflakeDestinationDescription { fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result { @@ -129,6 +135,7 @@ impl ::std::fmt::Debug for SnowflakeDestinationDescription { formatter.field("s3_backup_mode", &self.s3_backup_mode); formatter.field("s3_destination_description", &self.s3_destination_description); formatter.field("secrets_manager_configuration", &self.secrets_manager_configuration); + formatter.field("buffering_hints", &self.buffering_hints); formatter.finish() } } @@ -160,6 +167,7 @@ pub struct SnowflakeDestinationDescriptionBuilder { pub(crate) s3_backup_mode: ::std::option::Option, pub(crate) s3_destination_description: ::std::option::Option, pub(crate) secrets_manager_configuration: ::std::option::Option, + pub(crate) buffering_hints: ::std::option::Option, } impl SnowflakeDestinationDescriptionBuilder { ///

URL for accessing your Snowflake account. This URL must include your account identifier. Note that the protocol (https://) and port number are optional.

@@ -400,6 +408,20 @@ impl SnowflakeDestinationDescriptionBuilder { pub fn get_secrets_manager_configuration(&self) -> &::std::option::Option { &self.secrets_manager_configuration } + ///

Describes the buffering to perform before delivering data to the Snowflake destination. If you do not specify any value, Firehose uses the default values.

+ pub fn buffering_hints(mut self, input: crate::types::SnowflakeBufferingHints) -> Self { + self.buffering_hints = ::std::option::Option::Some(input); + self + } + ///

Describes the buffering to perform before delivering data to the Snowflake destination. If you do not specify any value, Firehose uses the default values.

+ pub fn set_buffering_hints(mut self, input: ::std::option::Option) -> Self { + self.buffering_hints = input; + self + } + ///

Describes the buffering to perform before delivering data to the Snowflake destination. If you do not specify any value, Firehose uses the default values.

+ pub fn get_buffering_hints(&self) -> &::std::option::Option { + &self.buffering_hints + } /// Consumes the builder and constructs a [`SnowflakeDestinationDescription`](crate::types::SnowflakeDestinationDescription). pub fn build(self) -> crate::types::SnowflakeDestinationDescription { crate::types::SnowflakeDestinationDescription { @@ -420,6 +442,7 @@ impl SnowflakeDestinationDescriptionBuilder { s3_backup_mode: self.s3_backup_mode, s3_destination_description: self.s3_destination_description, secrets_manager_configuration: self.secrets_manager_configuration, + buffering_hints: self.buffering_hints, } } } @@ -443,6 +466,7 @@ impl ::std::fmt::Debug for SnowflakeDestinationDescriptionBuilder { formatter.field("s3_backup_mode", &self.s3_backup_mode); formatter.field("s3_destination_description", &self.s3_destination_description); formatter.field("secrets_manager_configuration", &self.secrets_manager_configuration); + formatter.field("buffering_hints", &self.buffering_hints); formatter.finish() } } diff --git a/sdk/firehose/src/types/_snowflake_destination_update.rs b/sdk/firehose/src/types/_snowflake_destination_update.rs index acb508e0c312..1091285d435f 100644 --- a/sdk/firehose/src/types/_snowflake_destination_update.rs +++ b/sdk/firehose/src/types/_snowflake_destination_update.rs @@ -40,6 +40,8 @@ pub struct SnowflakeDestinationUpdate { pub s3_update: ::std::option::Option, ///

Describes the Secrets Manager configuration in Snowflake.

pub secrets_manager_configuration: ::std::option::Option, + ///

Describes the buffering to perform before delivering data to the Snowflake destination.

+ pub buffering_hints: ::std::option::Option, } impl SnowflakeDestinationUpdate { ///

URL for accessing your Snowflake account. This URL must include your account identifier. Note that the protocol (https://) and port number are optional.

@@ -114,6 +116,10 @@ impl SnowflakeDestinationUpdate { pub fn secrets_manager_configuration(&self) -> ::std::option::Option<&crate::types::SecretsManagerConfiguration> { self.secrets_manager_configuration.as_ref() } + ///

Describes the buffering to perform before delivering data to the Snowflake destination.

+ pub fn buffering_hints(&self) -> ::std::option::Option<&crate::types::SnowflakeBufferingHints> { + self.buffering_hints.as_ref() + } } impl ::std::fmt::Debug for SnowflakeDestinationUpdate { fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result { @@ -136,6 +142,7 @@ impl ::std::fmt::Debug for SnowflakeDestinationUpdate { formatter.field("s3_backup_mode", &self.s3_backup_mode); formatter.field("s3_update", &self.s3_update); formatter.field("secrets_manager_configuration", &self.secrets_manager_configuration); + formatter.field("buffering_hints", &self.buffering_hints); formatter.finish() } } @@ -168,6 +175,7 @@ pub struct SnowflakeDestinationUpdateBuilder { pub(crate) s3_backup_mode: ::std::option::Option, pub(crate) s3_update: ::std::option::Option, pub(crate) secrets_manager_configuration: ::std::option::Option, + pub(crate) buffering_hints: ::std::option::Option, } impl SnowflakeDestinationUpdateBuilder { ///

URL for accessing your Snowflake account. This URL must include your account identifier. Note that the protocol (https://) and port number are optional.

@@ -422,6 +430,20 @@ impl SnowflakeDestinationUpdateBuilder { pub fn get_secrets_manager_configuration(&self) -> &::std::option::Option { &self.secrets_manager_configuration } + ///

Describes the buffering to perform before delivering data to the Snowflake destination.

+ pub fn buffering_hints(mut self, input: crate::types::SnowflakeBufferingHints) -> Self { + self.buffering_hints = ::std::option::Option::Some(input); + self + } + ///

Describes the buffering to perform before delivering data to the Snowflake destination.

+ pub fn set_buffering_hints(mut self, input: ::std::option::Option) -> Self { + self.buffering_hints = input; + self + } + ///

Describes the buffering to perform before delivering data to the Snowflake destination.

+ pub fn get_buffering_hints(&self) -> &::std::option::Option { + &self.buffering_hints + } /// Consumes the builder and constructs a [`SnowflakeDestinationUpdate`](crate::types::SnowflakeDestinationUpdate). pub fn build(self) -> crate::types::SnowflakeDestinationUpdate { crate::types::SnowflakeDestinationUpdate { @@ -443,6 +465,7 @@ impl SnowflakeDestinationUpdateBuilder { s3_backup_mode: self.s3_backup_mode, s3_update: self.s3_update, secrets_manager_configuration: self.secrets_manager_configuration, + buffering_hints: self.buffering_hints, } } } @@ -467,6 +490,7 @@ impl ::std::fmt::Debug for SnowflakeDestinationUpdateBuilder { formatter.field("s3_backup_mode", &self.s3_backup_mode); formatter.field("s3_update", &self.s3_update); formatter.field("secrets_manager_configuration", &self.secrets_manager_configuration); + formatter.field("buffering_hints", &self.buffering_hints); formatter.finish() } } diff --git a/sdk/firehose/src/types/builders.rs b/sdk/firehose/src/types/builders.rs index fb231774e688..70a2a1c11985 100644 --- a/sdk/firehose/src/types/builders.rs +++ b/sdk/firehose/src/types/builders.rs @@ -1,9 +1,7 @@ // Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. -pub use crate::types::_snowflake_destination_update::SnowflakeDestinationUpdateBuilder; - -pub use crate::types::_secrets_manager_configuration::SecretsManagerConfigurationBuilder; +pub use crate::types::_iceberg_destination_update::IcebergDestinationUpdateBuilder; -pub use crate::types::_s3_destination_update::S3DestinationUpdateBuilder; +pub use crate::types::_s3_destination_configuration::S3DestinationConfigurationBuilder; pub use crate::types::_cloud_watch_logging_options::CloudWatchLoggingOptionsBuilder; @@ -13,7 +11,9 @@ pub use crate::types::_kms_encryption_config::KmsEncryptionConfigBuilder; pub use crate::types::_buffering_hints::BufferingHintsBuilder; -pub use crate::types::_snowflake_retry_options::SnowflakeRetryOptionsBuilder; +pub use crate::types::_catalog_configuration::CatalogConfigurationBuilder; + +pub use crate::types::_retry_options::RetryOptionsBuilder; pub use crate::types::_processing_configuration::ProcessingConfigurationBuilder; @@ -21,6 +21,18 @@ pub use crate::types::_processor::ProcessorBuilder; pub use crate::types::_processor_parameter::ProcessorParameterBuilder; +pub use crate::types::_destination_table_configuration::DestinationTableConfigurationBuilder; + +pub use crate::types::_snowflake_destination_update::SnowflakeDestinationUpdateBuilder; + +pub use crate::types::_snowflake_buffering_hints::SnowflakeBufferingHintsBuilder; + +pub use crate::types::_secrets_manager_configuration::SecretsManagerConfigurationBuilder; + +pub use crate::types::_s3_destination_update::S3DestinationUpdateBuilder; + +pub use crate::types::_snowflake_retry_options::SnowflakeRetryOptionsBuilder; + pub use crate::types::_snowflake_role_configuration::SnowflakeRoleConfigurationBuilder; pub use crate::types::_amazon_open_search_serverless_destination_update::AmazonOpenSearchServerlessDestinationUpdateBuilder; @@ -71,8 +83,6 @@ pub use crate::types::_extended_s3_destination_update::ExtendedS3DestinationUpda pub use crate::types::_dynamic_partitioning_configuration::DynamicPartitioningConfigurationBuilder; -pub use crate::types::_retry_options::RetryOptionsBuilder; - pub use crate::types::_data_format_conversion_configuration::DataFormatConversionConfigurationBuilder; pub use crate::types::_output_format_configuration::OutputFormatConfigurationBuilder; @@ -105,12 +115,14 @@ pub use crate::types::_delivery_stream_description::DeliveryStreamDescriptionBui pub use crate::types::_destination_description::DestinationDescriptionBuilder; +pub use crate::types::_iceberg_destination_description::IcebergDestinationDescriptionBuilder; + +pub use crate::types::_s3_destination_description::S3DestinationDescriptionBuilder; + pub use crate::types::_amazon_open_search_serverless_destination_description::AmazonOpenSearchServerlessDestinationDescriptionBuilder; pub use crate::types::_vpc_configuration_description::VpcConfigurationDescriptionBuilder; -pub use crate::types::_s3_destination_description::S3DestinationDescriptionBuilder; - pub use crate::types::_snowflake_destination_description::SnowflakeDestinationDescriptionBuilder; pub use crate::types::_snowflake_vpc_configuration::SnowflakeVpcConfigurationBuilder; @@ -141,9 +153,9 @@ pub use crate::types::_delivery_stream_encryption_configuration::DeliveryStreamE pub use crate::types::_failure_description::FailureDescriptionBuilder; -pub use crate::types::_snowflake_destination_configuration::SnowflakeDestinationConfigurationBuilder; +pub use crate::types::_iceberg_destination_configuration::IcebergDestinationConfigurationBuilder; -pub use crate::types::_s3_destination_configuration::S3DestinationConfigurationBuilder; +pub use crate::types::_snowflake_destination_configuration::SnowflakeDestinationConfigurationBuilder; pub use crate::types::_msk_source_configuration::MskSourceConfigurationBuilder; diff --git a/sdk/ivschat/Cargo.toml b/sdk/ivschat/Cargo.toml index c3a8382ba4ec..c509f7933d85 100644 --- a/sdk/ivschat/Cargo.toml +++ b/sdk/ivschat/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-ivschat" -version = "1.35.0" +version = "1.35.1" authors = ["AWS Rust SDK Team ", "Russell Cohen "] description = "AWS SDK for Amazon Interactive Video Service Chat" edition = "2021" diff --git a/sdk/ivschat/README.md b/sdk/ivschat/README.md index 5f2f8c60662c..7a3f883d4316 100644 --- a/sdk/ivschat/README.md +++ b/sdk/ivschat/README.md @@ -6,13 +6,17 @@ The Amazon IVS Chat control-plane API enables you to create and manage Amazon IV The API is an AWS regional service. For a list of supported regions and Amazon IVS Chat HTTPS service endpoints, see the Amazon IVS Chat information on the [Amazon IVS page](https://docs.aws.amazon.com/general/latest/gr/ivs.html) in the _AWS General Reference_. +This document describes HTTP operations. There is a separate _messaging_ API for managing Chat resources; see the [Amazon IVS Chat Messaging API Reference](https://docs.aws.amazon.com/ivs/latest/chatmsgapireference/chat-messaging-api.html). + __Notes on terminology:__ - You create service applications using the Amazon IVS Chat API. We refer to these as _applications_. - You create front-end client applications (browser and Android/iOS apps) using the Amazon IVS Chat Messaging API. We refer to these as _clients_. -__Key Concepts__ - - __LoggingConfiguration__ — A configuration that allows customers to store and record sent messages in a chat room. - - __Room__ — The central Amazon IVS Chat resource through which clients connect to and exchange chat messages. +__Resources__ + +The following resources are part of Amazon IVS Chat: + - __LoggingConfiguration__ — A configuration that allows customers to store and record sent messages in a chat room. See the Logging Configuration endpoints for more information. + - __Room__ — The central Amazon IVS Chat resource through which clients connect to and exchange chat messages. See the Room endpoints for more information. __Tagging__ @@ -46,35 +50,6 @@ __Amazon Resource Names (ARNs)__ ARNs uniquely identify AWS resources. An ARN is required when you need to specify a resource unambiguously across all of AWS, such as in IAM policies and API calls. For more information, see [Amazon Resource Names](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) in the _AWS General Reference_. -__Messaging Endpoints__ - - DeleteMessage — Sends an event to a specific room which directs clients to delete a specific message; that is, unrender it from view and delete it from the client’s chat history. This event’s EventName is aws:DELETE_MESSAGE. This replicates the [DeleteMessage](https://docs.aws.amazon.com/ivs/latest/chatmsgapireference/actions-deletemessage-publish.html) WebSocket operation in the Amazon IVS Chat Messaging API. - - DisconnectUser — Disconnects all connections using a specified user ID from a room. This replicates the [DisconnectUser](https://docs.aws.amazon.com/ivs/latest/chatmsgapireference/actions-disconnectuser-publish.html) WebSocket operation in the Amazon IVS Chat Messaging API. - - SendEvent — Sends an event to a room. Use this within your application’s business logic to send events to clients of a room; e.g., to notify clients to change the way the chat UI is rendered. - -__Chat Token Endpoint__ - - CreateChatToken — Creates an encrypted token that is used by a chat participant to establish an individual WebSocket chat connection to a room. When the token is used to connect to chat, the connection is valid for the session duration specified in the request. The token becomes invalid at the token-expiration timestamp included in the response. - -__Room Endpoints__ - - CreateRoom — Creates a room that allows clients to connect and pass messages. - - DeleteRoom — Deletes the specified room. - - GetRoom — Gets the specified room. - - ListRooms — Gets summary information about all your rooms in the AWS region where the API request is processed. - - UpdateRoom — Updates a room’s configuration. - -__Logging Configuration Endpoints__ - - CreateLoggingConfiguration — Creates a logging configuration that allows clients to store and record sent messages. - - DeleteLoggingConfiguration — Deletes the specified logging configuration. - - GetLoggingConfiguration — Gets the specified logging configuration. - - ListLoggingConfigurations — Gets summary information about all your logging configurations in the AWS region where the API request is processed. - - UpdateLoggingConfiguration — Updates a specified logging configuration. - -__Tags Endpoints__ - - ListTagsForResource — Gets information about AWS tags for the specified ARN. - - TagResource — Adds or updates tags for the AWS resource with the specified ARN. - - UntagResource — Removes tags from the resource with the specified ARN. - -All the above are HTTP operations. There is a separate _messaging_ API for managing Chat resources; see the [Amazon IVS Chat Messaging API Reference](https://docs.aws.amazon.com/ivs/latest/chatmsgapireference/chat-messaging-api.html). - ## Getting Started > Examples are available for many services and operations, check out the @@ -87,7 +62,7 @@ your project, add the following to your **Cargo.toml** file: ```toml [dependencies] aws-config = { version = "1.1.7", features = ["behavior-version-latest"] } -aws-sdk-ivschat = "1.35.0" +aws-sdk-ivschat = "1.35.1" tokio = { version = "1", features = ["full"] } ``` diff --git a/sdk/ivschat/src/lib.rs b/sdk/ivschat/src/lib.rs index 549176df725b..9c80fab445f0 100644 --- a/sdk/ivschat/src/lib.rs +++ b/sdk/ivschat/src/lib.rs @@ -23,13 +23,17 @@ //! //! The API is an AWS regional service. For a list of supported regions and Amazon IVS Chat HTTPS service endpoints, see the Amazon IVS Chat information on the [Amazon IVS page](https://docs.aws.amazon.com/general/latest/gr/ivs.html) in the _AWS General Reference_. //! +//! This document describes HTTP operations. There is a separate _messaging_ API for managing Chat resources; see the [Amazon IVS Chat Messaging API Reference](https://docs.aws.amazon.com/ivs/latest/chatmsgapireference/chat-messaging-api.html). +//! //! __Notes on terminology:__ //! - You create service applications using the Amazon IVS Chat API. We refer to these as _applications_. //! - You create front-end client applications (browser and Android/iOS apps) using the Amazon IVS Chat Messaging API. We refer to these as _clients_. //! -//! __Key Concepts__ -//! - __LoggingConfiguration__ — A configuration that allows customers to store and record sent messages in a chat room. -//! - __Room__ — The central Amazon IVS Chat resource through which clients connect to and exchange chat messages. +//! __Resources__ +//! +//! The following resources are part of Amazon IVS Chat: +//! - __LoggingConfiguration__ — A configuration that allows customers to store and record sent messages in a chat room. See the Logging Configuration endpoints for more information. +//! - __Room__ — The central Amazon IVS Chat resource through which clients connect to and exchange chat messages. See the Room endpoints for more information. //! //! __Tagging__ //! @@ -63,35 +67,6 @@ //! //! ARNs uniquely identify AWS resources. An ARN is required when you need to specify a resource unambiguously across all of AWS, such as in IAM policies and API calls. For more information, see [Amazon Resource Names](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) in the _AWS General Reference_. //! -//! __Messaging Endpoints__ -//! - DeleteMessage — Sends an event to a specific room which directs clients to delete a specific message; that is, unrender it from view and delete it from the client’s chat history. This event’s EventName is aws:DELETE_MESSAGE. This replicates the [DeleteMessage](https://docs.aws.amazon.com/ivs/latest/chatmsgapireference/actions-deletemessage-publish.html) WebSocket operation in the Amazon IVS Chat Messaging API. -//! - DisconnectUser — Disconnects all connections using a specified user ID from a room. This replicates the [DisconnectUser](https://docs.aws.amazon.com/ivs/latest/chatmsgapireference/actions-disconnectuser-publish.html) WebSocket operation in the Amazon IVS Chat Messaging API. -//! - SendEvent — Sends an event to a room. Use this within your application’s business logic to send events to clients of a room; e.g., to notify clients to change the way the chat UI is rendered. -//! -//! __Chat Token Endpoint__ -//! - CreateChatToken — Creates an encrypted token that is used by a chat participant to establish an individual WebSocket chat connection to a room. When the token is used to connect to chat, the connection is valid for the session duration specified in the request. The token becomes invalid at the token-expiration timestamp included in the response. -//! -//! __Room Endpoints__ -//! - CreateRoom — Creates a room that allows clients to connect and pass messages. -//! - DeleteRoom — Deletes the specified room. -//! - GetRoom — Gets the specified room. -//! - ListRooms — Gets summary information about all your rooms in the AWS region where the API request is processed. -//! - UpdateRoom — Updates a room’s configuration. -//! -//! __Logging Configuration Endpoints__ -//! - CreateLoggingConfiguration — Creates a logging configuration that allows clients to store and record sent messages. -//! - DeleteLoggingConfiguration — Deletes the specified logging configuration. -//! - GetLoggingConfiguration — Gets the specified logging configuration. -//! - ListLoggingConfigurations — Gets summary information about all your logging configurations in the AWS region where the API request is processed. -//! - UpdateLoggingConfiguration — Updates a specified logging configuration. -//! -//! __Tags Endpoints__ -//! - ListTagsForResource — Gets information about AWS tags for the specified ARN. -//! - TagResource — Adds or updates tags for the AWS resource with the specified ARN. -//! - UntagResource — Removes tags from the resource with the specified ARN. -//! -//! All the above are HTTP operations. There is a separate _messaging_ API for managing Chat resources; see the [Amazon IVS Chat Messaging API Reference](https://docs.aws.amazon.com/ivs/latest/chatmsgapireference/chat-messaging-api.html). -//! //! ## Getting Started //! //! > Examples are available for many services and operations, check out the @@ -104,7 +79,7 @@ //! ```toml //! [dependencies] //! aws-config = { version = "1.1.7", features = ["behavior-version-latest"] } -//! aws-sdk-ivschat = "1.35.0" +//! aws-sdk-ivschat = "1.35.1" //! tokio = { version = "1", features = ["full"] } //! ``` //! diff --git a/sdk/medialive/Cargo.toml b/sdk/medialive/Cargo.toml index 8b4ee79f9387..608fb8450024 100644 --- a/sdk/medialive/Cargo.toml +++ b/sdk/medialive/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-medialive" -version = "1.41.0" +version = "1.42.0" authors = ["AWS Rust SDK Team ", "Russell Cohen "] description = "AWS SDK for AWS Elemental MediaLive" edition = "2021" diff --git a/sdk/medialive/README.md b/sdk/medialive/README.md index 2857663dbbfa..027ff5c0fdd3 100644 --- a/sdk/medialive/README.md +++ b/sdk/medialive/README.md @@ -14,7 +14,7 @@ your project, add the following to your **Cargo.toml** file: ```toml [dependencies] aws-config = { version = "1.1.7", features = ["behavior-version-latest"] } -aws-sdk-medialive = "1.41.0" +aws-sdk-medialive = "1.42.0" tokio = { version = "1", features = ["full"] } ``` diff --git a/sdk/medialive/src/client/create_input.rs b/sdk/medialive/src/client/create_input.rs index d3d6e2351ab9..ce2b62d1e698 100644 --- a/sdk/medialive/src/client/create_input.rs +++ b/sdk/medialive/src/client/create_input.rs @@ -14,6 +14,7 @@ impl super::Client { /// - [`tags(impl Into, impl Into)`](crate::operation::create_input::builders::CreateInputFluentBuilder::tags) / [`set_tags(Option>)`](crate::operation::create_input::builders::CreateInputFluentBuilder::set_tags):
required: **false**
A collection of key-value pairs.
/// - [`r#type(InputType)`](crate::operation::create_input::builders::CreateInputFluentBuilder::type) / [`set_type(Option)`](crate::operation::create_input::builders::CreateInputFluentBuilder::set_type):
required: **false**
The different types of inputs that AWS Elemental MediaLive supports.
/// - [`vpc(InputVpcRequest)`](crate::operation::create_input::builders::CreateInputFluentBuilder::vpc) / [`set_vpc(Option)`](crate::operation::create_input::builders::CreateInputFluentBuilder::set_vpc):
required: **false**
Settings for a private VPC Input. When this property is specified, the input destination addresses will be created in a VPC rather than with public Internet addresses. This property requires setting the roleArn property on Input creation. Not compatible with the inputSecurityGroups property.
+ /// - [`srt_settings(SrtSettingsRequest)`](crate::operation::create_input::builders::CreateInputFluentBuilder::srt_settings) / [`set_srt_settings(Option)`](crate::operation::create_input::builders::CreateInputFluentBuilder::set_srt_settings):
required: **false**
The settings associated with an SRT input.
/// - On success, responds with [`CreateInputOutput`](crate::operation::create_input::CreateInputOutput) with field(s): /// - [`input(Option)`](crate::operation::create_input::CreateInputOutput::input): Placeholder documentation for Input /// - On failure, responds with [`SdkError`](crate::operation::create_input::CreateInputError) diff --git a/sdk/medialive/src/client/describe_input.rs b/sdk/medialive/src/client/describe_input.rs index 44ff23ef128c..6aad4940e7a7 100644 --- a/sdk/medialive/src/client/describe_input.rs +++ b/sdk/medialive/src/client/describe_input.rs @@ -21,6 +21,7 @@ impl super::Client { /// - [`state(Option)`](crate::operation::describe_input::DescribeInputOutput::state): Placeholder documentation for InputState /// - [`tags(Option>)`](crate::operation::describe_input::DescribeInputOutput::tags): A collection of key-value pairs. /// - [`r#type(Option)`](crate::operation::describe_input::DescribeInputOutput::type): The different types of inputs that AWS Elemental MediaLive supports. + /// - [`srt_settings(Option)`](crate::operation::describe_input::DescribeInputOutput::srt_settings): The settings associated with an SRT input. /// - On failure, responds with [`SdkError`](crate::operation::describe_input::DescribeInputError) pub fn describe_input(&self) -> crate::operation::describe_input::builders::DescribeInputFluentBuilder { crate::operation::describe_input::builders::DescribeInputFluentBuilder::new(self.handle.clone()) diff --git a/sdk/medialive/src/client/update_input.rs b/sdk/medialive/src/client/update_input.rs index 409d10f69b43..a22f0020b91a 100644 --- a/sdk/medialive/src/client/update_input.rs +++ b/sdk/medialive/src/client/update_input.rs @@ -11,6 +11,7 @@ impl super::Client { /// - [`name(impl Into)`](crate::operation::update_input::builders::UpdateInputFluentBuilder::name) / [`set_name(Option)`](crate::operation::update_input::builders::UpdateInputFluentBuilder::set_name):
required: **false**
Name of the input.
/// - [`role_arn(impl Into)`](crate::operation::update_input::builders::UpdateInputFluentBuilder::role_arn) / [`set_role_arn(Option)`](crate::operation::update_input::builders::UpdateInputFluentBuilder::set_role_arn):
required: **false**
The Amazon Resource Name (ARN) of the role this input assumes during and after creation.
/// - [`sources(InputSourceRequest)`](crate::operation::update_input::builders::UpdateInputFluentBuilder::sources) / [`set_sources(Option>)`](crate::operation::update_input::builders::UpdateInputFluentBuilder::set_sources):
required: **false**
The source URLs for a PULL-type input. Every PULL type input needs exactly two source URLs for redundancy. Only specify sources for PULL type Inputs. Leave Destinations empty.
+ /// - [`srt_settings(SrtSettingsRequest)`](crate::operation::update_input::builders::UpdateInputFluentBuilder::srt_settings) / [`set_srt_settings(Option)`](crate::operation::update_input::builders::UpdateInputFluentBuilder::set_srt_settings):
required: **false**
The settings associated with an SRT input.
/// - On success, responds with [`UpdateInputOutput`](crate::operation::update_input::UpdateInputOutput) with field(s): /// - [`input(Option)`](crate::operation::update_input::UpdateInputOutput::input): Placeholder documentation for Input /// - On failure, responds with [`SdkError`](crate::operation::update_input::UpdateInputError) diff --git a/sdk/medialive/src/lib.rs b/sdk/medialive/src/lib.rs index 9617e8277abd..07369c93bb7c 100644 --- a/sdk/medialive/src/lib.rs +++ b/sdk/medialive/src/lib.rs @@ -31,7 +31,7 @@ //! ```toml //! [dependencies] //! aws-config = { version = "1.1.7", features = ["behavior-version-latest"] } -//! aws-sdk-medialive = "1.41.0" +//! aws-sdk-medialive = "1.42.0" //! tokio = { version = "1", features = ["full"] } //! ``` //! diff --git a/sdk/medialive/src/operation/create_input/_create_input_input.rs b/sdk/medialive/src/operation/create_input/_create_input_input.rs index 552c340fd4cb..14f1f8a6fdac 100644 --- a/sdk/medialive/src/operation/create_input/_create_input_input.rs +++ b/sdk/medialive/src/operation/create_input/_create_input_input.rs @@ -26,6 +26,8 @@ pub struct CreateInputInput { pub r#type: ::std::option::Option, /// Settings for a private VPC Input. When this property is specified, the input destination addresses will be created in a VPC rather than with public Internet addresses. This property requires setting the roleArn property on Input creation. Not compatible with the inputSecurityGroups property. pub vpc: ::std::option::Option, + /// The settings associated with an SRT input. + pub srt_settings: ::std::option::Option, } impl CreateInputInput { /// Destination settings for PUSH type inputs. @@ -82,6 +84,10 @@ impl CreateInputInput { pub fn vpc(&self) -> ::std::option::Option<&crate::types::InputVpcRequest> { self.vpc.as_ref() } + /// The settings associated with an SRT input. + pub fn srt_settings(&self) -> ::std::option::Option<&crate::types::SrtSettingsRequest> { + self.srt_settings.as_ref() + } } impl CreateInputInput { /// Creates a new builder-style object to manufacture [`CreateInputInput`](crate::operation::create_input::CreateInputInput). @@ -105,6 +111,7 @@ pub struct CreateInputInputBuilder { pub(crate) tags: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>, pub(crate) r#type: ::std::option::Option, pub(crate) vpc: ::std::option::Option, + pub(crate) srt_settings: ::std::option::Option, } impl CreateInputInputBuilder { /// Appends an item to `destinations`. @@ -297,6 +304,20 @@ impl CreateInputInputBuilder { pub fn get_vpc(&self) -> &::std::option::Option { &self.vpc } + /// The settings associated with an SRT input. + pub fn srt_settings(mut self, input: crate::types::SrtSettingsRequest) -> Self { + self.srt_settings = ::std::option::Option::Some(input); + self + } + /// The settings associated with an SRT input. + pub fn set_srt_settings(mut self, input: ::std::option::Option) -> Self { + self.srt_settings = input; + self + } + /// The settings associated with an SRT input. + pub fn get_srt_settings(&self) -> &::std::option::Option { + &self.srt_settings + } /// Consumes the builder and constructs a [`CreateInputInput`](crate::operation::create_input::CreateInputInput). pub fn build(self) -> ::std::result::Result { ::std::result::Result::Ok(crate::operation::create_input::CreateInputInput { @@ -311,6 +332,7 @@ impl CreateInputInputBuilder { tags: self.tags, r#type: self.r#type, vpc: self.vpc, + srt_settings: self.srt_settings, }) } } diff --git a/sdk/medialive/src/operation/create_input/builders.rs b/sdk/medialive/src/operation/create_input/builders.rs index cb6c6ed147c8..94031428ed62 100644 --- a/sdk/medialive/src/operation/create_input/builders.rs +++ b/sdk/medialive/src/operation/create_input/builders.rs @@ -292,4 +292,18 @@ impl CreateInputFluentBuilder { pub fn get_vpc(&self) -> &::std::option::Option { self.inner.get_vpc() } + /// The settings associated with an SRT input. + pub fn srt_settings(mut self, input: crate::types::SrtSettingsRequest) -> Self { + self.inner = self.inner.srt_settings(input); + self + } + /// The settings associated with an SRT input. + pub fn set_srt_settings(mut self, input: ::std::option::Option) -> Self { + self.inner = self.inner.set_srt_settings(input); + self + } + /// The settings associated with an SRT input. + pub fn get_srt_settings(&self) -> &::std::option::Option { + self.inner.get_srt_settings() + } } diff --git a/sdk/medialive/src/operation/describe_input/_describe_input_output.rs b/sdk/medialive/src/operation/describe_input/_describe_input_output.rs index df5f04d03b56..c96247c7697b 100644 --- a/sdk/medialive/src/operation/describe_input/_describe_input_output.rs +++ b/sdk/medialive/src/operation/describe_input/_describe_input_output.rs @@ -36,6 +36,8 @@ pub struct DescribeInputOutput { pub tags: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>, /// The different types of inputs that AWS Elemental MediaLive supports. pub r#type: ::std::option::Option, + /// The settings associated with an SRT input. + pub srt_settings: ::std::option::Option, _request_id: Option, } impl DescribeInputOutput { @@ -117,6 +119,10 @@ impl DescribeInputOutput { pub fn r#type(&self) -> ::std::option::Option<&crate::types::InputType> { self.r#type.as_ref() } + /// The settings associated with an SRT input. + pub fn srt_settings(&self) -> ::std::option::Option<&crate::types::SrtSettings> { + self.srt_settings.as_ref() + } } impl ::aws_types::request_id::RequestId for DescribeInputOutput { fn request_id(&self) -> Option<&str> { @@ -150,6 +156,7 @@ pub struct DescribeInputOutputBuilder { pub(crate) state: ::std::option::Option, pub(crate) tags: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>, pub(crate) r#type: ::std::option::Option, + pub(crate) srt_settings: ::std::option::Option, _request_id: Option, } impl DescribeInputOutputBuilder { @@ -425,6 +432,20 @@ impl DescribeInputOutputBuilder { pub fn get_type(&self) -> &::std::option::Option { &self.r#type } + /// The settings associated with an SRT input. + pub fn srt_settings(mut self, input: crate::types::SrtSettings) -> Self { + self.srt_settings = ::std::option::Option::Some(input); + self + } + /// The settings associated with an SRT input. + pub fn set_srt_settings(mut self, input: ::std::option::Option) -> Self { + self.srt_settings = input; + self + } + /// The settings associated with an SRT input. + pub fn get_srt_settings(&self) -> &::std::option::Option { + &self.srt_settings + } pub(crate) fn _request_id(mut self, request_id: impl Into) -> Self { self._request_id = Some(request_id.into()); self @@ -453,6 +474,7 @@ impl DescribeInputOutputBuilder { state: self.state, tags: self.tags, r#type: self.r#type, + srt_settings: self.srt_settings, _request_id: self._request_id, } } diff --git a/sdk/medialive/src/operation/update_input/_update_input_input.rs b/sdk/medialive/src/operation/update_input/_update_input_input.rs index 90e5880678d0..d8f7b2f62222 100644 --- a/sdk/medialive/src/operation/update_input/_update_input_input.rs +++ b/sdk/medialive/src/operation/update_input/_update_input_input.rs @@ -20,6 +20,8 @@ pub struct UpdateInputInput { pub role_arn: ::std::option::Option<::std::string::String>, /// The source URLs for a PULL-type input. Every PULL type input needs exactly two source URLs for redundancy. Only specify sources for PULL type Inputs. Leave Destinations empty. pub sources: ::std::option::Option<::std::vec::Vec>, + /// The settings associated with an SRT input. + pub srt_settings: ::std::option::Option, } impl UpdateInputInput { /// Destination settings for PUSH type inputs. @@ -64,6 +66,10 @@ impl UpdateInputInput { pub fn sources(&self) -> &[crate::types::InputSourceRequest] { self.sources.as_deref().unwrap_or_default() } + /// The settings associated with an SRT input. + pub fn srt_settings(&self) -> ::std::option::Option<&crate::types::SrtSettingsRequest> { + self.srt_settings.as_ref() + } } impl UpdateInputInput { /// Creates a new builder-style object to manufacture [`UpdateInputInput`](crate::operation::update_input::UpdateInputInput). @@ -84,6 +90,7 @@ pub struct UpdateInputInputBuilder { pub(crate) name: ::std::option::Option<::std::string::String>, pub(crate) role_arn: ::std::option::Option<::std::string::String>, pub(crate) sources: ::std::option::Option<::std::vec::Vec>, + pub(crate) srt_settings: ::std::option::Option, } impl UpdateInputInputBuilder { /// Appends an item to `destinations`. @@ -229,6 +236,20 @@ impl UpdateInputInputBuilder { pub fn get_sources(&self) -> &::std::option::Option<::std::vec::Vec> { &self.sources } + /// The settings associated with an SRT input. + pub fn srt_settings(mut self, input: crate::types::SrtSettingsRequest) -> Self { + self.srt_settings = ::std::option::Option::Some(input); + self + } + /// The settings associated with an SRT input. + pub fn set_srt_settings(mut self, input: ::std::option::Option) -> Self { + self.srt_settings = input; + self + } + /// The settings associated with an SRT input. + pub fn get_srt_settings(&self) -> &::std::option::Option { + &self.srt_settings + } /// Consumes the builder and constructs a [`UpdateInputInput`](crate::operation::update_input::UpdateInputInput). pub fn build(self) -> ::std::result::Result { ::std::result::Result::Ok(crate::operation::update_input::UpdateInputInput { @@ -240,6 +261,7 @@ impl UpdateInputInputBuilder { name: self.name, role_arn: self.role_arn, sources: self.sources, + srt_settings: self.srt_settings, }) } } diff --git a/sdk/medialive/src/operation/update_input/builders.rs b/sdk/medialive/src/operation/update_input/builders.rs index 0385749f450a..ac347253b41a 100644 --- a/sdk/medialive/src/operation/update_input/builders.rs +++ b/sdk/medialive/src/operation/update_input/builders.rs @@ -245,4 +245,18 @@ impl UpdateInputFluentBuilder { pub fn get_sources(&self) -> &::std::option::Option<::std::vec::Vec> { self.inner.get_sources() } + /// The settings associated with an SRT input. + pub fn srt_settings(mut self, input: crate::types::SrtSettingsRequest) -> Self { + self.inner = self.inner.srt_settings(input); + self + } + /// The settings associated with an SRT input. + pub fn set_srt_settings(mut self, input: ::std::option::Option) -> Self { + self.inner = self.inner.set_srt_settings(input); + self + } + /// The settings associated with an SRT input. + pub fn get_srt_settings(&self) -> &::std::option::Option { + self.inner.get_srt_settings() + } } diff --git a/sdk/medialive/src/protocol_serde.rs b/sdk/medialive/src/protocol_serde.rs index 771fd330da08..8be03d259aa6 100644 --- a/sdk/medialive/src/protocol_serde.rs +++ b/sdk/medialive/src/protocol_serde.rs @@ -451,6 +451,10 @@ pub(crate) mod shape_reservation; pub(crate) mod shape_reservation_resource_specification; +pub(crate) mod shape_srt_settings; + +pub(crate) mod shape_srt_settings_request; + pub(crate) mod shape_successful_monitor_deployment; pub(crate) mod shape_tag_map; @@ -521,6 +525,8 @@ pub(crate) mod shape_list_of_integer; pub(crate) mod shape_list_of_output_group; +pub(crate) mod shape_list_of_srt_caller_source; + pub(crate) mod shape_list_of_video_description; pub(crate) mod shape_media_connect_flow; @@ -559,6 +565,8 @@ pub(crate) mod shape_schedule_action; pub(crate) mod shape_signal_map_summary; +pub(crate) mod shape_srt_caller_source_request; + pub(crate) mod shape_thumbnail_configuration; pub(crate) mod shape_thumbnail_detail; @@ -629,6 +637,10 @@ pub(crate) mod shape_schedule_action_settings; pub(crate) mod shape_schedule_action_start_settings; +pub(crate) mod shape_srt_caller_decryption_request; + +pub(crate) mod shape_srt_caller_source; + pub(crate) mod shape_video_codec_settings; pub(crate) mod shape_video_selector; @@ -757,6 +769,8 @@ pub(crate) mod shape_scte35_time_signal_schedule_action_settings; pub(crate) mod shape_smpte_tt_destination_settings; +pub(crate) mod shape_srt_caller_decryption; + pub(crate) mod shape_static_image_activate_schedule_action_settings; pub(crate) mod shape_static_image_deactivate_schedule_action_settings; diff --git a/sdk/medialive/src/protocol_serde/shape_create_input_input.rs b/sdk/medialive/src/protocol_serde/shape_create_input_input.rs index 261fdfeaa6e6..054bea2a0c09 100644 --- a/sdk/medialive/src/protocol_serde/shape_create_input_input.rs +++ b/sdk/medialive/src/protocol_serde/shape_create_input_input.rs @@ -69,24 +69,30 @@ pub fn ser_create_input_input_input( } array_20.finish(); } - if let Some(var_23) = &input.tags { + if let Some(var_23) = &input.srt_settings { #[allow(unused_mut)] - let mut object_24 = object.key("tags").start_object(); - for (key_25, value_26) in var_23 { + let mut object_24 = object.key("srtSettings").start_object(); + crate::protocol_serde::shape_srt_settings_request::ser_srt_settings_request(&mut object_24, var_23)?; + object_24.finish(); + } + if let Some(var_25) = &input.tags { + #[allow(unused_mut)] + let mut object_26 = object.key("tags").start_object(); + for (key_27, value_28) in var_25 { { - object_24.key(key_25.as_str()).string(value_26.as_str()); + object_26.key(key_27.as_str()).string(value_28.as_str()); } } - object_24.finish(); + object_26.finish(); } - if let Some(var_27) = &input.r#type { - object.key("type").string(var_27.as_str()); + if let Some(var_29) = &input.r#type { + object.key("type").string(var_29.as_str()); } - if let Some(var_28) = &input.vpc { + if let Some(var_30) = &input.vpc { #[allow(unused_mut)] - let mut object_29 = object.key("vpc").start_object(); - crate::protocol_serde::shape_input_vpc_request::ser_input_vpc_request(&mut object_29, var_28)?; - object_29.finish(); + let mut object_31 = object.key("vpc").start_object(); + crate::protocol_serde::shape_input_vpc_request::ser_input_vpc_request(&mut object_31, var_30)?; + object_31.finish(); } Ok(()) } diff --git a/sdk/medialive/src/protocol_serde/shape_describe_input.rs b/sdk/medialive/src/protocol_serde/shape_describe_input.rs index 0397a64534a1..901d6e84e205 100644 --- a/sdk/medialive/src/protocol_serde/shape_describe_input.rs +++ b/sdk/medialive/src/protocol_serde/shape_describe_input.rs @@ -222,6 +222,9 @@ pub(crate) fn de_describe_input( "sources" => { builder = builder.set_sources(crate::protocol_serde::shape_list_of_input_source::de_list_of_input_source(tokens)?); } + "srtSettings" => { + builder = builder.set_srt_settings(crate::protocol_serde::shape_srt_settings::de_srt_settings(tokens)?); + } "state" => { builder = builder.set_state( ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())? diff --git a/sdk/medialive/src/protocol_serde/shape_input.rs b/sdk/medialive/src/protocol_serde/shape_input.rs index f9ff66f4d91b..f868e6921037 100644 --- a/sdk/medialive/src/protocol_serde/shape_input.rs +++ b/sdk/medialive/src/protocol_serde/shape_input.rs @@ -100,6 +100,9 @@ where .transpose()?, ); } + "srtSettings" => { + builder = builder.set_srt_settings(crate::protocol_serde::shape_srt_settings::de_srt_settings(tokens)?); + } _ => ::aws_smithy_json::deserialize::token::skip_value(tokens)?, }, other => { diff --git a/sdk/medialive/src/protocol_serde/shape_list_of_srt_caller_source.rs b/sdk/medialive/src/protocol_serde/shape_list_of_srt_caller_source.rs new file mode 100644 index 000000000000..f790721b0723 --- /dev/null +++ b/sdk/medialive/src/protocol_serde/shape_list_of_srt_caller_source.rs @@ -0,0 +1,32 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. +pub(crate) fn de_list_of_srt_caller_source<'a, I>( + tokens: &mut ::std::iter::Peekable, +) -> Result>, ::aws_smithy_json::deserialize::error::DeserializeError> +where + I: Iterator, ::aws_smithy_json::deserialize::error::DeserializeError>>, +{ + match tokens.next().transpose()? { + Some(::aws_smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None), + Some(::aws_smithy_json::deserialize::Token::StartArray { .. }) => { + let mut items = Vec::new(); + loop { + match tokens.peek() { + Some(Ok(::aws_smithy_json::deserialize::Token::EndArray { .. })) => { + tokens.next().transpose().unwrap(); + break; + } + _ => { + let value = crate::protocol_serde::shape_srt_caller_source::de_srt_caller_source(tokens)?; + if let Some(value) = value { + items.push(value); + } + } + } + } + Ok(Some(items)) + } + _ => Err(::aws_smithy_json::deserialize::error::DeserializeError::custom( + "expected start array or null", + )), + } +} diff --git a/sdk/medialive/src/protocol_serde/shape_srt_caller_decryption.rs b/sdk/medialive/src/protocol_serde/shape_srt_caller_decryption.rs new file mode 100644 index 000000000000..30b223157760 --- /dev/null +++ b/sdk/medialive/src/protocol_serde/shape_srt_caller_decryption.rs @@ -0,0 +1,47 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. +pub(crate) fn de_srt_caller_decryption<'a, I>( + tokens: &mut ::std::iter::Peekable, +) -> Result, ::aws_smithy_json::deserialize::error::DeserializeError> +where + I: Iterator, ::aws_smithy_json::deserialize::error::DeserializeError>>, +{ + match tokens.next().transpose()? { + Some(::aws_smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None), + Some(::aws_smithy_json::deserialize::Token::StartObject { .. }) => { + #[allow(unused_mut)] + let mut builder = crate::types::builders::SrtCallerDecryptionBuilder::default(); + loop { + match tokens.next().transpose()? { + Some(::aws_smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(::aws_smithy_json::deserialize::Token::ObjectKey { key, .. }) => match key.to_unescaped()?.as_ref() { + "algorithm" => { + builder = builder.set_algorithm( + ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())? + .map(|s| s.to_unescaped().map(|u| crate::types::Algorithm::from(u.as_ref()))) + .transpose()?, + ); + } + "passphraseSecretArn" => { + builder = builder.set_passphrase_secret_arn( + ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + _ => ::aws_smithy_json::deserialize::token::skip_value(tokens)?, + }, + other => { + return Err(::aws_smithy_json::deserialize::error::DeserializeError::custom(format!( + "expected object key or end object, found: {:?}", + other + ))) + } + } + } + Ok(Some(builder.build())) + } + _ => Err(::aws_smithy_json::deserialize::error::DeserializeError::custom( + "expected start object or null", + )), + } +} diff --git a/sdk/medialive/src/protocol_serde/shape_srt_caller_decryption_request.rs b/sdk/medialive/src/protocol_serde/shape_srt_caller_decryption_request.rs new file mode 100644 index 000000000000..963f9b6f6f35 --- /dev/null +++ b/sdk/medialive/src/protocol_serde/shape_srt_caller_decryption_request.rs @@ -0,0 +1,13 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. +pub fn ser_srt_caller_decryption_request( + object: &mut ::aws_smithy_json::serialize::JsonObjectWriter, + input: &crate::types::SrtCallerDecryptionRequest, +) -> Result<(), ::aws_smithy_types::error::operation::SerializationError> { + if let Some(var_1) = &input.algorithm { + object.key("algorithm").string(var_1.as_str()); + } + if let Some(var_2) = &input.passphrase_secret_arn { + object.key("passphraseSecretArn").string(var_2.as_str()); + } + Ok(()) +} diff --git a/sdk/medialive/src/protocol_serde/shape_srt_caller_source.rs b/sdk/medialive/src/protocol_serde/shape_srt_caller_source.rs new file mode 100644 index 000000000000..bf9d24c1823b --- /dev/null +++ b/sdk/medialive/src/protocol_serde/shape_srt_caller_source.rs @@ -0,0 +1,64 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. +pub(crate) fn de_srt_caller_source<'a, I>( + tokens: &mut ::std::iter::Peekable, +) -> Result, ::aws_smithy_json::deserialize::error::DeserializeError> +where + I: Iterator, ::aws_smithy_json::deserialize::error::DeserializeError>>, +{ + match tokens.next().transpose()? { + Some(::aws_smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None), + Some(::aws_smithy_json::deserialize::Token::StartObject { .. }) => { + #[allow(unused_mut)] + let mut builder = crate::types::builders::SrtCallerSourceBuilder::default(); + loop { + match tokens.next().transpose()? { + Some(::aws_smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(::aws_smithy_json::deserialize::Token::ObjectKey { key, .. }) => match key.to_unescaped()?.as_ref() { + "decryption" => { + builder = builder.set_decryption(crate::protocol_serde::shape_srt_caller_decryption::de_srt_caller_decryption(tokens)?); + } + "minimumLatency" => { + builder = builder.set_minimum_latency( + ::aws_smithy_json::deserialize::token::expect_number_or_null(tokens.next())? + .map(i32::try_from) + .transpose()?, + ); + } + "srtListenerAddress" => { + builder = builder.set_srt_listener_address( + ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + "srtListenerPort" => { + builder = builder.set_srt_listener_port( + ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + "streamId" => { + builder = builder.set_stream_id( + ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())? + .map(|s| s.to_unescaped().map(|u| u.into_owned())) + .transpose()?, + ); + } + _ => ::aws_smithy_json::deserialize::token::skip_value(tokens)?, + }, + other => { + return Err(::aws_smithy_json::deserialize::error::DeserializeError::custom(format!( + "expected object key or end object, found: {:?}", + other + ))) + } + } + } + Ok(Some(builder.build())) + } + _ => Err(::aws_smithy_json::deserialize::error::DeserializeError::custom( + "expected start object or null", + )), + } +} diff --git a/sdk/medialive/src/protocol_serde/shape_srt_caller_source_request.rs b/sdk/medialive/src/protocol_serde/shape_srt_caller_source_request.rs new file mode 100644 index 000000000000..51509cd6afbf --- /dev/null +++ b/sdk/medialive/src/protocol_serde/shape_srt_caller_source_request.rs @@ -0,0 +1,28 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. +pub fn ser_srt_caller_source_request( + object: &mut ::aws_smithy_json::serialize::JsonObjectWriter, + input: &crate::types::SrtCallerSourceRequest, +) -> Result<(), ::aws_smithy_types::error::operation::SerializationError> { + if let Some(var_1) = &input.decryption { + #[allow(unused_mut)] + let mut object_2 = object.key("decryption").start_object(); + crate::protocol_serde::shape_srt_caller_decryption_request::ser_srt_caller_decryption_request(&mut object_2, var_1)?; + object_2.finish(); + } + if let Some(var_3) = &input.minimum_latency { + object.key("minimumLatency").number( + #[allow(clippy::useless_conversion)] + ::aws_smithy_types::Number::NegInt((*var_3).into()), + ); + } + if let Some(var_4) = &input.srt_listener_address { + object.key("srtListenerAddress").string(var_4.as_str()); + } + if let Some(var_5) = &input.srt_listener_port { + object.key("srtListenerPort").string(var_5.as_str()); + } + if let Some(var_6) = &input.stream_id { + object.key("streamId").string(var_6.as_str()); + } + Ok(()) +} diff --git a/sdk/medialive/src/protocol_serde/shape_srt_settings.rs b/sdk/medialive/src/protocol_serde/shape_srt_settings.rs new file mode 100644 index 000000000000..4e34489845fa --- /dev/null +++ b/sdk/medialive/src/protocol_serde/shape_srt_settings.rs @@ -0,0 +1,38 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. +pub(crate) fn de_srt_settings<'a, I>( + tokens: &mut ::std::iter::Peekable, +) -> Result, ::aws_smithy_json::deserialize::error::DeserializeError> +where + I: Iterator, ::aws_smithy_json::deserialize::error::DeserializeError>>, +{ + match tokens.next().transpose()? { + Some(::aws_smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None), + Some(::aws_smithy_json::deserialize::Token::StartObject { .. }) => { + #[allow(unused_mut)] + let mut builder = crate::types::builders::SrtSettingsBuilder::default(); + loop { + match tokens.next().transpose()? { + Some(::aws_smithy_json::deserialize::Token::EndObject { .. }) => break, + Some(::aws_smithy_json::deserialize::Token::ObjectKey { key, .. }) => match key.to_unescaped()?.as_ref() { + "srtCallerSources" => { + builder = builder.set_srt_caller_sources( + crate::protocol_serde::shape_list_of_srt_caller_source::de_list_of_srt_caller_source(tokens)?, + ); + } + _ => ::aws_smithy_json::deserialize::token::skip_value(tokens)?, + }, + other => { + return Err(::aws_smithy_json::deserialize::error::DeserializeError::custom(format!( + "expected object key or end object, found: {:?}", + other + ))) + } + } + } + Ok(Some(builder.build())) + } + _ => Err(::aws_smithy_json::deserialize::error::DeserializeError::custom( + "expected start object or null", + )), + } +} diff --git a/sdk/medialive/src/protocol_serde/shape_srt_settings_request.rs b/sdk/medialive/src/protocol_serde/shape_srt_settings_request.rs new file mode 100644 index 000000000000..97e8ccbc97d6 --- /dev/null +++ b/sdk/medialive/src/protocol_serde/shape_srt_settings_request.rs @@ -0,0 +1,19 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. +pub fn ser_srt_settings_request( + object: &mut ::aws_smithy_json::serialize::JsonObjectWriter, + input: &crate::types::SrtSettingsRequest, +) -> Result<(), ::aws_smithy_types::error::operation::SerializationError> { + if let Some(var_1) = &input.srt_caller_sources { + let mut array_2 = object.key("srtCallerSources").start_array(); + for item_3 in var_1 { + { + #[allow(unused_mut)] + let mut object_4 = array_2.value().start_object(); + crate::protocol_serde::shape_srt_caller_source_request::ser_srt_caller_source_request(&mut object_4, item_3)?; + object_4.finish(); + } + } + array_2.finish(); + } + Ok(()) +} diff --git a/sdk/medialive/src/protocol_serde/shape_update_input_input.rs b/sdk/medialive/src/protocol_serde/shape_update_input_input.rs index a5084fd7c48a..d3eeb30c1838 100644 --- a/sdk/medialive/src/protocol_serde/shape_update_input_input.rs +++ b/sdk/medialive/src/protocol_serde/shape_update_input_input.rs @@ -66,5 +66,11 @@ pub fn ser_update_input_input_input( } array_19.finish(); } + if let Some(var_22) = &input.srt_settings { + #[allow(unused_mut)] + let mut object_23 = object.key("srtSettings").start_object(); + crate::protocol_serde::shape_srt_settings_request::ser_srt_settings_request(&mut object_23, var_22)?; + object_23.finish(); + } Ok(()) } diff --git a/sdk/medialive/src/types.rs b/sdk/medialive/src/types.rs index 2200389a6a1f..b339d9f8461c 100644 --- a/sdk/medialive/src/types.rs +++ b/sdk/medialive/src/types.rs @@ -109,6 +109,14 @@ pub use crate::types::_input_device_media_connect_configurable_settings::InputDe pub use crate::types::_input::Input; +pub use crate::types::_srt_settings::SrtSettings; + +pub use crate::types::_srt_caller_source::SrtCallerSource; + +pub use crate::types::_srt_caller_decryption::SrtCallerDecryption; + +pub use crate::types::_algorithm::Algorithm; + pub use crate::types::_input_type::InputType; pub use crate::types::_input_state::InputState; @@ -127,6 +135,12 @@ pub use crate::types::_input_destination::InputDestination; pub use crate::types::_input_destination_vpc::InputDestinationVpc; +pub use crate::types::_srt_settings_request::SrtSettingsRequest; + +pub use crate::types::_srt_caller_source_request::SrtCallerSourceRequest; + +pub use crate::types::_srt_caller_decryption_request::SrtCallerDecryptionRequest; + pub use crate::types::_input_source_request::InputSourceRequest; pub use crate::types::_media_connect_flow_request::MediaConnectFlowRequest; @@ -1151,6 +1165,8 @@ mod _account_configuration; mod _afd_signaling; +mod _algorithm; + mod _ancillary_source_settings; mod _archive_cdn_settings; @@ -2127,6 +2143,18 @@ mod _smpte2038_data_preference; mod _smpte_tt_destination_settings; +mod _srt_caller_decryption; + +mod _srt_caller_decryption_request; + +mod _srt_caller_source; + +mod _srt_caller_source_request; + +mod _srt_settings; + +mod _srt_settings_request; + mod _standard_hls_settings; mod _start_timecode; diff --git a/sdk/medialive/src/types/_algorithm.rs b/sdk/medialive/src/types/_algorithm.rs new file mode 100644 index 000000000000..90ff8cfd8a80 --- /dev/null +++ b/sdk/medialive/src/types/_algorithm.rs @@ -0,0 +1,113 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. + +/// When writing a match expression against `Algorithm`, it is important to ensure +/// your code is forward-compatible. That is, if a match arm handles a case for a +/// feature that is supported by the service but has not been represented as an enum +/// variant in a current version of SDK, your code should continue to work when you +/// upgrade SDK to a future version in which the enum does include a variant for that +/// feature. +/// +/// Here is an example of how you can make a match expression forward-compatible: +/// +/// ```text +/// # let algorithm = unimplemented!(); +/// match algorithm { +/// Algorithm::Aes128 => { /* ... */ }, +/// Algorithm::Aes192 => { /* ... */ }, +/// Algorithm::Aes256 => { /* ... */ }, +/// other @ _ if other.as_str() == "NewFeature" => { /* handles a case for `NewFeature` */ }, +/// _ => { /* ... */ }, +/// } +/// ``` +/// The above code demonstrates that when `algorithm` represents +/// `NewFeature`, the execution path will lead to the second last match arm, +/// even though the enum does not contain a variant `Algorithm::NewFeature` +/// in the current version of SDK. The reason is that the variable `other`, +/// created by the `@` operator, is bound to +/// `Algorithm::Unknown(UnknownVariantValue("NewFeature".to_owned()))` +/// and calling `as_str` on it yields `"NewFeature"`. +/// This match expression is forward-compatible when executed with a newer +/// version of SDK where the variant `Algorithm::NewFeature` is defined. +/// Specifically, when `algorithm` represents `NewFeature`, +/// the execution path will hit the second last match arm as before by virtue of +/// calling `as_str` on `Algorithm::NewFeature` also yielding `"NewFeature"`. +/// +/// Explicitly matching on the `Unknown` variant should +/// be avoided for two reasons: +/// - The inner data `UnknownVariantValue` is opaque, and no further information can be extracted. +/// - It might inadvertently shadow other intended match arms. +/// Placeholder documentation for Algorithm +#[non_exhaustive] +#[derive( + ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::Ord, ::std::cmp::PartialEq, ::std::cmp::PartialOrd, ::std::fmt::Debug, ::std::hash::Hash, +)] +pub enum Algorithm { + #[allow(missing_docs)] // documentation missing in model + Aes128, + #[allow(missing_docs)] // documentation missing in model + Aes192, + #[allow(missing_docs)] // documentation missing in model + Aes256, + /// `Unknown` contains new variants that have been added since this code was generated. + #[deprecated(note = "Don't directly match on `Unknown`. See the docs on this enum for the correct way to handle unknown variants.")] + Unknown(crate::primitives::sealed_enum_unknown::UnknownVariantValue), +} +impl ::std::convert::From<&str> for Algorithm { + fn from(s: &str) -> Self { + match s { + "AES128" => Algorithm::Aes128, + "AES192" => Algorithm::Aes192, + "AES256" => Algorithm::Aes256, + other => Algorithm::Unknown(crate::primitives::sealed_enum_unknown::UnknownVariantValue(other.to_owned())), + } + } +} +impl ::std::str::FromStr for Algorithm { + type Err = ::std::convert::Infallible; + + fn from_str(s: &str) -> ::std::result::Result::Err> { + ::std::result::Result::Ok(Algorithm::from(s)) + } +} +impl Algorithm { + /// Returns the `&str` value of the enum member. + pub fn as_str(&self) -> &str { + match self { + Algorithm::Aes128 => "AES128", + Algorithm::Aes192 => "AES192", + Algorithm::Aes256 => "AES256", + Algorithm::Unknown(value) => value.as_str(), + } + } + /// Returns all the `&str` representations of the enum members. + pub const fn values() -> &'static [&'static str] { + &["AES128", "AES192", "AES256"] + } +} +impl ::std::convert::AsRef for Algorithm { + fn as_ref(&self) -> &str { + self.as_str() + } +} +impl Algorithm { + /// Parses the enum value while disallowing unknown variants. + /// + /// Unknown variants will result in an error. + pub fn try_parse(value: &str) -> ::std::result::Result { + match Self::from(value) { + #[allow(deprecated)] + Self::Unknown(_) => ::std::result::Result::Err(crate::error::UnknownVariantError::new(value)), + known => Ok(known), + } + } +} +impl ::std::fmt::Display for Algorithm { + fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { + match self { + Algorithm::Aes128 => write!(f, "AES128"), + Algorithm::Aes192 => write!(f, "AES192"), + Algorithm::Aes256 => write!(f, "AES256"), + Algorithm::Unknown(value) => write!(f, "{}", value), + } + } +} diff --git a/sdk/medialive/src/types/_eac3_atmos_settings.rs b/sdk/medialive/src/types/_eac3_atmos_settings.rs index 3d501dfbfba1..c7fa4d233c79 100644 --- a/sdk/medialive/src/types/_eac3_atmos_settings.rs +++ b/sdk/medialive/src/types/_eac3_atmos_settings.rs @@ -4,7 +4,7 @@ #[non_exhaustive] #[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)] pub struct Eac3AtmosSettings { - /// Average bitrate in bits/second. Valid bitrates depend on the coding mode. // * @affectsRightSizing true + /// Average bitrate in bits/second. Valid bitrates depend on the coding mode. pub bitrate: ::std::option::Option, /// Dolby Digital Plus with Dolby Atmos coding mode. Determines number of channels. pub coding_mode: ::std::option::Option, @@ -20,7 +20,7 @@ pub struct Eac3AtmosSettings { pub surround_trim: ::std::option::Option, } impl Eac3AtmosSettings { - /// Average bitrate in bits/second. Valid bitrates depend on the coding mode. // * @affectsRightSizing true + /// Average bitrate in bits/second. Valid bitrates depend on the coding mode. pub fn bitrate(&self) -> ::std::option::Option { self.bitrate } @@ -69,17 +69,17 @@ pub struct Eac3AtmosSettingsBuilder { pub(crate) surround_trim: ::std::option::Option, } impl Eac3AtmosSettingsBuilder { - /// Average bitrate in bits/second. Valid bitrates depend on the coding mode. // * @affectsRightSizing true + /// Average bitrate in bits/second. Valid bitrates depend on the coding mode. pub fn bitrate(mut self, input: f64) -> Self { self.bitrate = ::std::option::Option::Some(input); self } - /// Average bitrate in bits/second. Valid bitrates depend on the coding mode. // * @affectsRightSizing true + /// Average bitrate in bits/second. Valid bitrates depend on the coding mode. pub fn set_bitrate(mut self, input: ::std::option::Option) -> Self { self.bitrate = input; self } - /// Average bitrate in bits/second. Valid bitrates depend on the coding mode. // * @affectsRightSizing true + /// Average bitrate in bits/second. Valid bitrates depend on the coding mode. pub fn get_bitrate(&self) -> &::std::option::Option { &self.bitrate } diff --git a/sdk/medialive/src/types/_h264_settings.rs b/sdk/medialive/src/types/_h264_settings.rs index 2b959d93fe07..003cb77f03fa 100644 --- a/sdk/medialive/src/types/_h264_settings.rs +++ b/sdk/medialive/src/types/_h264_settings.rs @@ -20,7 +20,7 @@ pub struct H264Settings { pub color_space_settings: ::std::option::Option, /// Entropy encoding mode. Use cabac (must be in Main or High profile) or cavlc. pub entropy_encoding: ::std::option::Option, - /// Optional filters that you can apply to an encode. + /// Optional. Both filters reduce bandwidth by removing imperceptible details. You can enable one of the filters. We recommend that you try both filters and observe the results to decide which one to use. The Temporal Filter reduces bandwidth by removing imperceptible details in the content. It combines perceptual filtering and motion compensated temporal filtering (MCTF). It operates independently of the compression level. The Bandwidth Reduction filter is a perceptual filter located within the encoding loop. It adapts to the current compression level to filter imperceptible signals. This filter works only when the resolution is 1080p or lower. pub filter_settings: ::std::option::Option, /// Four bit AFD value to write on all frames of video in the output stream. Only valid when afdSignaling is set to 'Fixed'. pub fixed_afd: ::std::option::Option, @@ -122,7 +122,7 @@ impl H264Settings { pub fn entropy_encoding(&self) -> ::std::option::Option<&crate::types::H264EntropyEncoding> { self.entropy_encoding.as_ref() } - /// Optional filters that you can apply to an encode. + /// Optional. Both filters reduce bandwidth by removing imperceptible details. You can enable one of the filters. We recommend that you try both filters and observe the results to decide which one to use. The Temporal Filter reduces bandwidth by removing imperceptible details in the content. It combines perceptual filtering and motion compensated temporal filtering (MCTF). It operates independently of the compression level. The Bandwidth Reduction filter is a perceptual filter located within the encoding loop. It adapts to the current compression level to filter imperceptible signals. This filter works only when the resolution is 1080p or lower. pub fn filter_settings(&self) -> ::std::option::Option<&crate::types::H264FilterSettings> { self.filter_settings.as_ref() } @@ -426,17 +426,17 @@ impl H264SettingsBuilder { pub fn get_entropy_encoding(&self) -> &::std::option::Option { &self.entropy_encoding } - /// Optional filters that you can apply to an encode. + /// Optional. Both filters reduce bandwidth by removing imperceptible details. You can enable one of the filters. We recommend that you try both filters and observe the results to decide which one to use. The Temporal Filter reduces bandwidth by removing imperceptible details in the content. It combines perceptual filtering and motion compensated temporal filtering (MCTF). It operates independently of the compression level. The Bandwidth Reduction filter is a perceptual filter located within the encoding loop. It adapts to the current compression level to filter imperceptible signals. This filter works only when the resolution is 1080p or lower. pub fn filter_settings(mut self, input: crate::types::H264FilterSettings) -> Self { self.filter_settings = ::std::option::Option::Some(input); self } - /// Optional filters that you can apply to an encode. + /// Optional. Both filters reduce bandwidth by removing imperceptible details. You can enable one of the filters. We recommend that you try both filters and observe the results to decide which one to use. The Temporal Filter reduces bandwidth by removing imperceptible details in the content. It combines perceptual filtering and motion compensated temporal filtering (MCTF). It operates independently of the compression level. The Bandwidth Reduction filter is a perceptual filter located within the encoding loop. It adapts to the current compression level to filter imperceptible signals. This filter works only when the resolution is 1080p or lower. pub fn set_filter_settings(mut self, input: ::std::option::Option) -> Self { self.filter_settings = input; self } - /// Optional filters that you can apply to an encode. + /// Optional. Both filters reduce bandwidth by removing imperceptible details. You can enable one of the filters. We recommend that you try both filters and observe the results to decide which one to use. The Temporal Filter reduces bandwidth by removing imperceptible details in the content. It combines perceptual filtering and motion compensated temporal filtering (MCTF). It operates independently of the compression level. The Bandwidth Reduction filter is a perceptual filter located within the encoding loop. It adapts to the current compression level to filter imperceptible signals. This filter works only when the resolution is 1080p or lower. pub fn get_filter_settings(&self) -> &::std::option::Option { &self.filter_settings } diff --git a/sdk/medialive/src/types/_h265_settings.rs b/sdk/medialive/src/types/_h265_settings.rs index 18b4040bec73..90be9c5dbe57 100644 --- a/sdk/medialive/src/types/_h265_settings.rs +++ b/sdk/medialive/src/types/_h265_settings.rs @@ -18,7 +18,7 @@ pub struct H265Settings { pub color_metadata: ::std::option::Option, /// Color Space settings pub color_space_settings: ::std::option::Option, - /// Optional filters that you can apply to an encode. + /// Optional. Both filters reduce bandwidth by removing imperceptible details. You can enable one of the filters. We recommend that you try both filters and observe the results to decide which one to use. The Temporal Filter reduces bandwidth by removing imperceptible details in the content. It combines perceptual filtering and motion compensated temporal filtering (MCTF). It operates independently of the compression level. The Bandwidth Reduction filter is a perceptual filter located within the encoding loop. It adapts to the current compression level to filter imperceptible signals. This filter works only when the resolution is 1080p or lower. pub filter_settings: ::std::option::Option, /// Four bit AFD value to write on all frames of video in the output stream. Only valid when afdSignaling is set to 'Fixed'. pub fixed_afd: ::std::option::Option, @@ -106,7 +106,7 @@ impl H265Settings { pub fn color_space_settings(&self) -> ::std::option::Option<&crate::types::H265ColorSpaceSettings> { self.color_space_settings.as_ref() } - /// Optional filters that you can apply to an encode. + /// Optional. Both filters reduce bandwidth by removing imperceptible details. You can enable one of the filters. We recommend that you try both filters and observe the results to decide which one to use. The Temporal Filter reduces bandwidth by removing imperceptible details in the content. It combines perceptual filtering and motion compensated temporal filtering (MCTF). It operates independently of the compression level. The Bandwidth Reduction filter is a perceptual filter located within the encoding loop. It adapts to the current compression level to filter imperceptible signals. This filter works only when the resolution is 1080p or lower. pub fn filter_settings(&self) -> ::std::option::Option<&crate::types::H265FilterSettings> { self.filter_settings.as_ref() } @@ -370,17 +370,17 @@ impl H265SettingsBuilder { pub fn get_color_space_settings(&self) -> &::std::option::Option { &self.color_space_settings } - /// Optional filters that you can apply to an encode. + /// Optional. Both filters reduce bandwidth by removing imperceptible details. You can enable one of the filters. We recommend that you try both filters and observe the results to decide which one to use. The Temporal Filter reduces bandwidth by removing imperceptible details in the content. It combines perceptual filtering and motion compensated temporal filtering (MCTF). It operates independently of the compression level. The Bandwidth Reduction filter is a perceptual filter located within the encoding loop. It adapts to the current compression level to filter imperceptible signals. This filter works only when the resolution is 1080p or lower. pub fn filter_settings(mut self, input: crate::types::H265FilterSettings) -> Self { self.filter_settings = ::std::option::Option::Some(input); self } - /// Optional filters that you can apply to an encode. + /// Optional. Both filters reduce bandwidth by removing imperceptible details. You can enable one of the filters. We recommend that you try both filters and observe the results to decide which one to use. The Temporal Filter reduces bandwidth by removing imperceptible details in the content. It combines perceptual filtering and motion compensated temporal filtering (MCTF). It operates independently of the compression level. The Bandwidth Reduction filter is a perceptual filter located within the encoding loop. It adapts to the current compression level to filter imperceptible signals. This filter works only when the resolution is 1080p or lower. pub fn set_filter_settings(mut self, input: ::std::option::Option) -> Self { self.filter_settings = input; self } - /// Optional filters that you can apply to an encode. + /// Optional. Both filters reduce bandwidth by removing imperceptible details. You can enable one of the filters. We recommend that you try both filters and observe the results to decide which one to use. The Temporal Filter reduces bandwidth by removing imperceptible details in the content. It combines perceptual filtering and motion compensated temporal filtering (MCTF). It operates independently of the compression level. The Bandwidth Reduction filter is a perceptual filter located within the encoding loop. It adapts to the current compression level to filter imperceptible signals. This filter works only when the resolution is 1080p or lower. pub fn get_filter_settings(&self) -> &::std::option::Option { &self.filter_settings } diff --git a/sdk/medialive/src/types/_input.rs b/sdk/medialive/src/types/_input.rs index 2a0c7db3cef7..e0635bf89f72 100644 --- a/sdk/medialive/src/types/_input.rs +++ b/sdk/medialive/src/types/_input.rs @@ -36,6 +36,8 @@ pub struct Input { pub tags: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>, /// The different types of inputs that AWS Elemental MediaLive supports. pub r#type: ::std::option::Option, + /// The settings associated with an SRT input. + pub srt_settings: ::std::option::Option, } impl Input { /// The Unique ARN of the input (generated, immutable). @@ -116,6 +118,10 @@ impl Input { pub fn r#type(&self) -> ::std::option::Option<&crate::types::InputType> { self.r#type.as_ref() } + /// The settings associated with an SRT input. + pub fn srt_settings(&self) -> ::std::option::Option<&crate::types::SrtSettings> { + self.srt_settings.as_ref() + } } impl Input { /// Creates a new builder-style object to manufacture [`Input`](crate::types::Input). @@ -144,6 +150,7 @@ pub struct InputBuilder { pub(crate) state: ::std::option::Option, pub(crate) tags: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>, pub(crate) r#type: ::std::option::Option, + pub(crate) srt_settings: ::std::option::Option, } impl InputBuilder { /// The Unique ARN of the input (generated, immutable). @@ -418,6 +425,20 @@ impl InputBuilder { pub fn get_type(&self) -> &::std::option::Option { &self.r#type } + /// The settings associated with an SRT input. + pub fn srt_settings(mut self, input: crate::types::SrtSettings) -> Self { + self.srt_settings = ::std::option::Option::Some(input); + self + } + /// The settings associated with an SRT input. + pub fn set_srt_settings(mut self, input: ::std::option::Option) -> Self { + self.srt_settings = input; + self + } + /// The settings associated with an SRT input. + pub fn get_srt_settings(&self) -> &::std::option::Option { + &self.srt_settings + } /// Consumes the builder and constructs a [`Input`](crate::types::Input). pub fn build(self) -> crate::types::Input { crate::types::Input { @@ -437,6 +458,7 @@ impl InputBuilder { state: self.state, tags: self.tags, r#type: self.r#type, + srt_settings: self.srt_settings, } } } diff --git a/sdk/medialive/src/types/_input_type.rs b/sdk/medialive/src/types/_input_type.rs index ad24a9fda8e1..d41f196f2b89 100644 --- a/sdk/medialive/src/types/_input_type.rs +++ b/sdk/medialive/src/types/_input_type.rs @@ -19,6 +19,7 @@ /// InputType::RtmpPull => { /* ... */ }, /// InputType::RtmpPush => { /* ... */ }, /// InputType::RtpPush => { /* ... */ }, +/// InputType::SrtCaller => { /* ... */ }, /// InputType::TsFile => { /* ... */ }, /// InputType::UdpPush => { /* ... */ }, /// InputType::UrlPull => { /* ... */ }, @@ -64,6 +65,8 @@ pub enum InputType { #[allow(missing_docs)] // documentation missing in model RtpPush, #[allow(missing_docs)] // documentation missing in model + SrtCaller, + #[allow(missing_docs)] // documentation missing in model TsFile, #[allow(missing_docs)] // documentation missing in model UdpPush, @@ -83,6 +86,7 @@ impl ::std::convert::From<&str> for InputType { "RTMP_PULL" => InputType::RtmpPull, "RTMP_PUSH" => InputType::RtmpPush, "RTP_PUSH" => InputType::RtpPush, + "SRT_CALLER" => InputType::SrtCaller, "TS_FILE" => InputType::TsFile, "UDP_PUSH" => InputType::UdpPush, "URL_PULL" => InputType::UrlPull, @@ -108,6 +112,7 @@ impl InputType { InputType::RtmpPull => "RTMP_PULL", InputType::RtmpPush => "RTMP_PUSH", InputType::RtpPush => "RTP_PUSH", + InputType::SrtCaller => "SRT_CALLER", InputType::TsFile => "TS_FILE", InputType::UdpPush => "UDP_PUSH", InputType::UrlPull => "URL_PULL", @@ -124,6 +129,7 @@ impl InputType { "RTMP_PULL", "RTMP_PUSH", "RTP_PUSH", + "SRT_CALLER", "TS_FILE", "UDP_PUSH", "URL_PULL", @@ -157,6 +163,7 @@ impl ::std::fmt::Display for InputType { InputType::RtmpPull => write!(f, "RTMP_PULL"), InputType::RtmpPush => write!(f, "RTMP_PUSH"), InputType::RtpPush => write!(f, "RTP_PUSH"), + InputType::SrtCaller => write!(f, "SRT_CALLER"), InputType::TsFile => write!(f, "TS_FILE"), InputType::UdpPush => write!(f, "UDP_PUSH"), InputType::UrlPull => write!(f, "URL_PULL"), diff --git a/sdk/medialive/src/types/_srt_caller_decryption.rs b/sdk/medialive/src/types/_srt_caller_decryption.rs new file mode 100644 index 000000000000..a2a5799d3835 --- /dev/null +++ b/sdk/medialive/src/types/_srt_caller_decryption.rs @@ -0,0 +1,72 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. + +/// The decryption settings for the SRT caller source. Present only if the source has decryption enabled. +#[non_exhaustive] +#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)] +pub struct SrtCallerDecryption { + /// The algorithm used to encrypt content. + pub algorithm: ::std::option::Option, + /// The ARN for the secret in Secrets Manager. Someone in your organization must create a secret and provide you with its ARN. The secret holds the passphrase that MediaLive uses to decrypt the source content. + pub passphrase_secret_arn: ::std::option::Option<::std::string::String>, +} +impl SrtCallerDecryption { + /// The algorithm used to encrypt content. + pub fn algorithm(&self) -> ::std::option::Option<&crate::types::Algorithm> { + self.algorithm.as_ref() + } + /// The ARN for the secret in Secrets Manager. Someone in your organization must create a secret and provide you with its ARN. The secret holds the passphrase that MediaLive uses to decrypt the source content. + pub fn passphrase_secret_arn(&self) -> ::std::option::Option<&str> { + self.passphrase_secret_arn.as_deref() + } +} +impl SrtCallerDecryption { + /// Creates a new builder-style object to manufacture [`SrtCallerDecryption`](crate::types::SrtCallerDecryption). + pub fn builder() -> crate::types::builders::SrtCallerDecryptionBuilder { + crate::types::builders::SrtCallerDecryptionBuilder::default() + } +} + +/// A builder for [`SrtCallerDecryption`](crate::types::SrtCallerDecryption). +#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)] +#[non_exhaustive] +pub struct SrtCallerDecryptionBuilder { + pub(crate) algorithm: ::std::option::Option, + pub(crate) passphrase_secret_arn: ::std::option::Option<::std::string::String>, +} +impl SrtCallerDecryptionBuilder { + /// The algorithm used to encrypt content. + pub fn algorithm(mut self, input: crate::types::Algorithm) -> Self { + self.algorithm = ::std::option::Option::Some(input); + self + } + /// The algorithm used to encrypt content. + pub fn set_algorithm(mut self, input: ::std::option::Option) -> Self { + self.algorithm = input; + self + } + /// The algorithm used to encrypt content. + pub fn get_algorithm(&self) -> &::std::option::Option { + &self.algorithm + } + /// The ARN for the secret in Secrets Manager. Someone in your organization must create a secret and provide you with its ARN. The secret holds the passphrase that MediaLive uses to decrypt the source content. + pub fn passphrase_secret_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self { + self.passphrase_secret_arn = ::std::option::Option::Some(input.into()); + self + } + /// The ARN for the secret in Secrets Manager. Someone in your organization must create a secret and provide you with its ARN. The secret holds the passphrase that MediaLive uses to decrypt the source content. + pub fn set_passphrase_secret_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self { + self.passphrase_secret_arn = input; + self + } + /// The ARN for the secret in Secrets Manager. Someone in your organization must create a secret and provide you with its ARN. The secret holds the passphrase that MediaLive uses to decrypt the source content. + pub fn get_passphrase_secret_arn(&self) -> &::std::option::Option<::std::string::String> { + &self.passphrase_secret_arn + } + /// Consumes the builder and constructs a [`SrtCallerDecryption`](crate::types::SrtCallerDecryption). + pub fn build(self) -> crate::types::SrtCallerDecryption { + crate::types::SrtCallerDecryption { + algorithm: self.algorithm, + passphrase_secret_arn: self.passphrase_secret_arn, + } + } +} diff --git a/sdk/medialive/src/types/_srt_caller_decryption_request.rs b/sdk/medialive/src/types/_srt_caller_decryption_request.rs new file mode 100644 index 000000000000..5ca55a0b837c --- /dev/null +++ b/sdk/medialive/src/types/_srt_caller_decryption_request.rs @@ -0,0 +1,72 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. + +/// Complete these parameters only if the content is encrypted. +#[non_exhaustive] +#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)] +pub struct SrtCallerDecryptionRequest { + /// The algorithm used to encrypt content. + pub algorithm: ::std::option::Option, + /// The ARN for the secret in Secrets Manager. Someone in your organization must create a secret and provide you with its ARN. This secret holds the passphrase that MediaLive will use to decrypt the source content. + pub passphrase_secret_arn: ::std::option::Option<::std::string::String>, +} +impl SrtCallerDecryptionRequest { + /// The algorithm used to encrypt content. + pub fn algorithm(&self) -> ::std::option::Option<&crate::types::Algorithm> { + self.algorithm.as_ref() + } + /// The ARN for the secret in Secrets Manager. Someone in your organization must create a secret and provide you with its ARN. This secret holds the passphrase that MediaLive will use to decrypt the source content. + pub fn passphrase_secret_arn(&self) -> ::std::option::Option<&str> { + self.passphrase_secret_arn.as_deref() + } +} +impl SrtCallerDecryptionRequest { + /// Creates a new builder-style object to manufacture [`SrtCallerDecryptionRequest`](crate::types::SrtCallerDecryptionRequest). + pub fn builder() -> crate::types::builders::SrtCallerDecryptionRequestBuilder { + crate::types::builders::SrtCallerDecryptionRequestBuilder::default() + } +} + +/// A builder for [`SrtCallerDecryptionRequest`](crate::types::SrtCallerDecryptionRequest). +#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)] +#[non_exhaustive] +pub struct SrtCallerDecryptionRequestBuilder { + pub(crate) algorithm: ::std::option::Option, + pub(crate) passphrase_secret_arn: ::std::option::Option<::std::string::String>, +} +impl SrtCallerDecryptionRequestBuilder { + /// The algorithm used to encrypt content. + pub fn algorithm(mut self, input: crate::types::Algorithm) -> Self { + self.algorithm = ::std::option::Option::Some(input); + self + } + /// The algorithm used to encrypt content. + pub fn set_algorithm(mut self, input: ::std::option::Option) -> Self { + self.algorithm = input; + self + } + /// The algorithm used to encrypt content. + pub fn get_algorithm(&self) -> &::std::option::Option { + &self.algorithm + } + /// The ARN for the secret in Secrets Manager. Someone in your organization must create a secret and provide you with its ARN. This secret holds the passphrase that MediaLive will use to decrypt the source content. + pub fn passphrase_secret_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self { + self.passphrase_secret_arn = ::std::option::Option::Some(input.into()); + self + } + /// The ARN for the secret in Secrets Manager. Someone in your organization must create a secret and provide you with its ARN. This secret holds the passphrase that MediaLive will use to decrypt the source content. + pub fn set_passphrase_secret_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self { + self.passphrase_secret_arn = input; + self + } + /// The ARN for the secret in Secrets Manager. Someone in your organization must create a secret and provide you with its ARN. This secret holds the passphrase that MediaLive will use to decrypt the source content. + pub fn get_passphrase_secret_arn(&self) -> &::std::option::Option<::std::string::String> { + &self.passphrase_secret_arn + } + /// Consumes the builder and constructs a [`SrtCallerDecryptionRequest`](crate::types::SrtCallerDecryptionRequest). + pub fn build(self) -> crate::types::SrtCallerDecryptionRequest { + crate::types::SrtCallerDecryptionRequest { + algorithm: self.algorithm, + passphrase_secret_arn: self.passphrase_secret_arn, + } + } +} diff --git a/sdk/medialive/src/types/_srt_caller_source.rs b/sdk/medialive/src/types/_srt_caller_source.rs new file mode 100644 index 000000000000..9ef9381dca5c --- /dev/null +++ b/sdk/medialive/src/types/_srt_caller_source.rs @@ -0,0 +1,138 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. + +/// The configuration for a source that uses SRT as the connection protocol. In terms of establishing the connection, MediaLive is always caller and the upstream system is always the listener. In terms of transmission of the source content, MediaLive is always the receiver and the upstream system is always the sender. +#[non_exhaustive] +#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)] +pub struct SrtCallerSource { + /// The decryption settings for the SRT caller source. Present only if the source has decryption enabled. + pub decryption: ::std::option::Option, + /// The preferred latency (in milliseconds) for implementing packet loss and recovery. Packet recovery is a key feature of SRT. + pub minimum_latency: ::std::option::Option, + /// The IP address at the upstream system (the listener) that MediaLive (the caller) connects to. + pub srt_listener_address: ::std::option::Option<::std::string::String>, + /// The port at the upstream system (the listener) that MediaLive (the caller) connects to. + pub srt_listener_port: ::std::option::Option<::std::string::String>, + /// The stream ID, if the upstream system uses this identifier. + pub stream_id: ::std::option::Option<::std::string::String>, +} +impl SrtCallerSource { + /// The decryption settings for the SRT caller source. Present only if the source has decryption enabled. + pub fn decryption(&self) -> ::std::option::Option<&crate::types::SrtCallerDecryption> { + self.decryption.as_ref() + } + /// The preferred latency (in milliseconds) for implementing packet loss and recovery. Packet recovery is a key feature of SRT. + pub fn minimum_latency(&self) -> ::std::option::Option { + self.minimum_latency + } + /// The IP address at the upstream system (the listener) that MediaLive (the caller) connects to. + pub fn srt_listener_address(&self) -> ::std::option::Option<&str> { + self.srt_listener_address.as_deref() + } + /// The port at the upstream system (the listener) that MediaLive (the caller) connects to. + pub fn srt_listener_port(&self) -> ::std::option::Option<&str> { + self.srt_listener_port.as_deref() + } + /// The stream ID, if the upstream system uses this identifier. + pub fn stream_id(&self) -> ::std::option::Option<&str> { + self.stream_id.as_deref() + } +} +impl SrtCallerSource { + /// Creates a new builder-style object to manufacture [`SrtCallerSource`](crate::types::SrtCallerSource). + pub fn builder() -> crate::types::builders::SrtCallerSourceBuilder { + crate::types::builders::SrtCallerSourceBuilder::default() + } +} + +/// A builder for [`SrtCallerSource`](crate::types::SrtCallerSource). +#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)] +#[non_exhaustive] +pub struct SrtCallerSourceBuilder { + pub(crate) decryption: ::std::option::Option, + pub(crate) minimum_latency: ::std::option::Option, + pub(crate) srt_listener_address: ::std::option::Option<::std::string::String>, + pub(crate) srt_listener_port: ::std::option::Option<::std::string::String>, + pub(crate) stream_id: ::std::option::Option<::std::string::String>, +} +impl SrtCallerSourceBuilder { + /// The decryption settings for the SRT caller source. Present only if the source has decryption enabled. + pub fn decryption(mut self, input: crate::types::SrtCallerDecryption) -> Self { + self.decryption = ::std::option::Option::Some(input); + self + } + /// The decryption settings for the SRT caller source. Present only if the source has decryption enabled. + pub fn set_decryption(mut self, input: ::std::option::Option) -> Self { + self.decryption = input; + self + } + /// The decryption settings for the SRT caller source. Present only if the source has decryption enabled. + pub fn get_decryption(&self) -> &::std::option::Option { + &self.decryption + } + /// The preferred latency (in milliseconds) for implementing packet loss and recovery. Packet recovery is a key feature of SRT. + pub fn minimum_latency(mut self, input: i32) -> Self { + self.minimum_latency = ::std::option::Option::Some(input); + self + } + /// The preferred latency (in milliseconds) for implementing packet loss and recovery. Packet recovery is a key feature of SRT. + pub fn set_minimum_latency(mut self, input: ::std::option::Option) -> Self { + self.minimum_latency = input; + self + } + /// The preferred latency (in milliseconds) for implementing packet loss and recovery. Packet recovery is a key feature of SRT. + pub fn get_minimum_latency(&self) -> &::std::option::Option { + &self.minimum_latency + } + /// The IP address at the upstream system (the listener) that MediaLive (the caller) connects to. + pub fn srt_listener_address(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self { + self.srt_listener_address = ::std::option::Option::Some(input.into()); + self + } + /// The IP address at the upstream system (the listener) that MediaLive (the caller) connects to. + pub fn set_srt_listener_address(mut self, input: ::std::option::Option<::std::string::String>) -> Self { + self.srt_listener_address = input; + self + } + /// The IP address at the upstream system (the listener) that MediaLive (the caller) connects to. + pub fn get_srt_listener_address(&self) -> &::std::option::Option<::std::string::String> { + &self.srt_listener_address + } + /// The port at the upstream system (the listener) that MediaLive (the caller) connects to. + pub fn srt_listener_port(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self { + self.srt_listener_port = ::std::option::Option::Some(input.into()); + self + } + /// The port at the upstream system (the listener) that MediaLive (the caller) connects to. + pub fn set_srt_listener_port(mut self, input: ::std::option::Option<::std::string::String>) -> Self { + self.srt_listener_port = input; + self + } + /// The port at the upstream system (the listener) that MediaLive (the caller) connects to. + pub fn get_srt_listener_port(&self) -> &::std::option::Option<::std::string::String> { + &self.srt_listener_port + } + /// The stream ID, if the upstream system uses this identifier. + pub fn stream_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self { + self.stream_id = ::std::option::Option::Some(input.into()); + self + } + /// The stream ID, if the upstream system uses this identifier. + pub fn set_stream_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self { + self.stream_id = input; + self + } + /// The stream ID, if the upstream system uses this identifier. + pub fn get_stream_id(&self) -> &::std::option::Option<::std::string::String> { + &self.stream_id + } + /// Consumes the builder and constructs a [`SrtCallerSource`](crate::types::SrtCallerSource). + pub fn build(self) -> crate::types::SrtCallerSource { + crate::types::SrtCallerSource { + decryption: self.decryption, + minimum_latency: self.minimum_latency, + srt_listener_address: self.srt_listener_address, + srt_listener_port: self.srt_listener_port, + stream_id: self.stream_id, + } + } +} diff --git a/sdk/medialive/src/types/_srt_caller_source_request.rs b/sdk/medialive/src/types/_srt_caller_source_request.rs new file mode 100644 index 000000000000..742dbdfa47ab --- /dev/null +++ b/sdk/medialive/src/types/_srt_caller_source_request.rs @@ -0,0 +1,138 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. + +/// Configures the connection for a source that uses SRT as the connection protocol. In terms of establishing the connection, MediaLive is always the caller and the upstream system is always the listener. In terms of transmission of the source content, MediaLive is always the receiver and the upstream system is always the sender. +#[non_exhaustive] +#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)] +pub struct SrtCallerSourceRequest { + /// Complete these parameters only if the content is encrypted. + pub decryption: ::std::option::Option, + /// The preferred latency (in milliseconds) for implementing packet loss and recovery. Packet recovery is a key feature of SRT. Obtain this value from the operator at the upstream system. + pub minimum_latency: ::std::option::Option, + /// The IP address at the upstream system (the listener) that MediaLive (the caller) will connect to. + pub srt_listener_address: ::std::option::Option<::std::string::String>, + /// The port at the upstream system (the listener) that MediaLive (the caller) will connect to. + pub srt_listener_port: ::std::option::Option<::std::string::String>, + /// This value is required if the upstream system uses this identifier because without it, the SRT handshake between MediaLive (the caller) and the upstream system (the listener) might fail. + pub stream_id: ::std::option::Option<::std::string::String>, +} +impl SrtCallerSourceRequest { + /// Complete these parameters only if the content is encrypted. + pub fn decryption(&self) -> ::std::option::Option<&crate::types::SrtCallerDecryptionRequest> { + self.decryption.as_ref() + } + /// The preferred latency (in milliseconds) for implementing packet loss and recovery. Packet recovery is a key feature of SRT. Obtain this value from the operator at the upstream system. + pub fn minimum_latency(&self) -> ::std::option::Option { + self.minimum_latency + } + /// The IP address at the upstream system (the listener) that MediaLive (the caller) will connect to. + pub fn srt_listener_address(&self) -> ::std::option::Option<&str> { + self.srt_listener_address.as_deref() + } + /// The port at the upstream system (the listener) that MediaLive (the caller) will connect to. + pub fn srt_listener_port(&self) -> ::std::option::Option<&str> { + self.srt_listener_port.as_deref() + } + /// This value is required if the upstream system uses this identifier because without it, the SRT handshake between MediaLive (the caller) and the upstream system (the listener) might fail. + pub fn stream_id(&self) -> ::std::option::Option<&str> { + self.stream_id.as_deref() + } +} +impl SrtCallerSourceRequest { + /// Creates a new builder-style object to manufacture [`SrtCallerSourceRequest`](crate::types::SrtCallerSourceRequest). + pub fn builder() -> crate::types::builders::SrtCallerSourceRequestBuilder { + crate::types::builders::SrtCallerSourceRequestBuilder::default() + } +} + +/// A builder for [`SrtCallerSourceRequest`](crate::types::SrtCallerSourceRequest). +#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)] +#[non_exhaustive] +pub struct SrtCallerSourceRequestBuilder { + pub(crate) decryption: ::std::option::Option, + pub(crate) minimum_latency: ::std::option::Option, + pub(crate) srt_listener_address: ::std::option::Option<::std::string::String>, + pub(crate) srt_listener_port: ::std::option::Option<::std::string::String>, + pub(crate) stream_id: ::std::option::Option<::std::string::String>, +} +impl SrtCallerSourceRequestBuilder { + /// Complete these parameters only if the content is encrypted. + pub fn decryption(mut self, input: crate::types::SrtCallerDecryptionRequest) -> Self { + self.decryption = ::std::option::Option::Some(input); + self + } + /// Complete these parameters only if the content is encrypted. + pub fn set_decryption(mut self, input: ::std::option::Option) -> Self { + self.decryption = input; + self + } + /// Complete these parameters only if the content is encrypted. + pub fn get_decryption(&self) -> &::std::option::Option { + &self.decryption + } + /// The preferred latency (in milliseconds) for implementing packet loss and recovery. Packet recovery is a key feature of SRT. Obtain this value from the operator at the upstream system. + pub fn minimum_latency(mut self, input: i32) -> Self { + self.minimum_latency = ::std::option::Option::Some(input); + self + } + /// The preferred latency (in milliseconds) for implementing packet loss and recovery. Packet recovery is a key feature of SRT. Obtain this value from the operator at the upstream system. + pub fn set_minimum_latency(mut self, input: ::std::option::Option) -> Self { + self.minimum_latency = input; + self + } + /// The preferred latency (in milliseconds) for implementing packet loss and recovery. Packet recovery is a key feature of SRT. Obtain this value from the operator at the upstream system. + pub fn get_minimum_latency(&self) -> &::std::option::Option { + &self.minimum_latency + } + /// The IP address at the upstream system (the listener) that MediaLive (the caller) will connect to. + pub fn srt_listener_address(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self { + self.srt_listener_address = ::std::option::Option::Some(input.into()); + self + } + /// The IP address at the upstream system (the listener) that MediaLive (the caller) will connect to. + pub fn set_srt_listener_address(mut self, input: ::std::option::Option<::std::string::String>) -> Self { + self.srt_listener_address = input; + self + } + /// The IP address at the upstream system (the listener) that MediaLive (the caller) will connect to. + pub fn get_srt_listener_address(&self) -> &::std::option::Option<::std::string::String> { + &self.srt_listener_address + } + /// The port at the upstream system (the listener) that MediaLive (the caller) will connect to. + pub fn srt_listener_port(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self { + self.srt_listener_port = ::std::option::Option::Some(input.into()); + self + } + /// The port at the upstream system (the listener) that MediaLive (the caller) will connect to. + pub fn set_srt_listener_port(mut self, input: ::std::option::Option<::std::string::String>) -> Self { + self.srt_listener_port = input; + self + } + /// The port at the upstream system (the listener) that MediaLive (the caller) will connect to. + pub fn get_srt_listener_port(&self) -> &::std::option::Option<::std::string::String> { + &self.srt_listener_port + } + /// This value is required if the upstream system uses this identifier because without it, the SRT handshake between MediaLive (the caller) and the upstream system (the listener) might fail. + pub fn stream_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self { + self.stream_id = ::std::option::Option::Some(input.into()); + self + } + /// This value is required if the upstream system uses this identifier because without it, the SRT handshake between MediaLive (the caller) and the upstream system (the listener) might fail. + pub fn set_stream_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self { + self.stream_id = input; + self + } + /// This value is required if the upstream system uses this identifier because without it, the SRT handshake between MediaLive (the caller) and the upstream system (the listener) might fail. + pub fn get_stream_id(&self) -> &::std::option::Option<::std::string::String> { + &self.stream_id + } + /// Consumes the builder and constructs a [`SrtCallerSourceRequest`](crate::types::SrtCallerSourceRequest). + pub fn build(self) -> crate::types::SrtCallerSourceRequest { + crate::types::SrtCallerSourceRequest { + decryption: self.decryption, + minimum_latency: self.minimum_latency, + srt_listener_address: self.srt_listener_address, + srt_listener_port: self.srt_listener_port, + stream_id: self.stream_id, + } + } +} diff --git a/sdk/medialive/src/types/_srt_settings.rs b/sdk/medialive/src/types/_srt_settings.rs new file mode 100644 index 000000000000..ed15c578352e --- /dev/null +++ b/sdk/medialive/src/types/_srt_settings.rs @@ -0,0 +1,58 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. + +/// The configured sources for this SRT input. +#[non_exhaustive] +#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)] +pub struct SrtSettings { + /// Placeholder documentation for __listOfSrtCallerSource + pub srt_caller_sources: ::std::option::Option<::std::vec::Vec>, +} +impl SrtSettings { + /// Placeholder documentation for __listOfSrtCallerSource + /// + /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.srt_caller_sources.is_none()`. + pub fn srt_caller_sources(&self) -> &[crate::types::SrtCallerSource] { + self.srt_caller_sources.as_deref().unwrap_or_default() + } +} +impl SrtSettings { + /// Creates a new builder-style object to manufacture [`SrtSettings`](crate::types::SrtSettings). + pub fn builder() -> crate::types::builders::SrtSettingsBuilder { + crate::types::builders::SrtSettingsBuilder::default() + } +} + +/// A builder for [`SrtSettings`](crate::types::SrtSettings). +#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)] +#[non_exhaustive] +pub struct SrtSettingsBuilder { + pub(crate) srt_caller_sources: ::std::option::Option<::std::vec::Vec>, +} +impl SrtSettingsBuilder { + /// Appends an item to `srt_caller_sources`. + /// + /// To override the contents of this collection use [`set_srt_caller_sources`](Self::set_srt_caller_sources). + /// + /// Placeholder documentation for __listOfSrtCallerSource + pub fn srt_caller_sources(mut self, input: crate::types::SrtCallerSource) -> Self { + let mut v = self.srt_caller_sources.unwrap_or_default(); + v.push(input); + self.srt_caller_sources = ::std::option::Option::Some(v); + self + } + /// Placeholder documentation for __listOfSrtCallerSource + pub fn set_srt_caller_sources(mut self, input: ::std::option::Option<::std::vec::Vec>) -> Self { + self.srt_caller_sources = input; + self + } + /// Placeholder documentation for __listOfSrtCallerSource + pub fn get_srt_caller_sources(&self) -> &::std::option::Option<::std::vec::Vec> { + &self.srt_caller_sources + } + /// Consumes the builder and constructs a [`SrtSettings`](crate::types::SrtSettings). + pub fn build(self) -> crate::types::SrtSettings { + crate::types::SrtSettings { + srt_caller_sources: self.srt_caller_sources, + } + } +} diff --git a/sdk/medialive/src/types/_srt_settings_request.rs b/sdk/medialive/src/types/_srt_settings_request.rs new file mode 100644 index 000000000000..25d8a970b3d4 --- /dev/null +++ b/sdk/medialive/src/types/_srt_settings_request.rs @@ -0,0 +1,58 @@ +// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. + +/// Configures the sources for this SRT input. For a single-pipeline input, include one srtCallerSource in the array. For a standard-pipeline input, include two srtCallerSource. +#[non_exhaustive] +#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)] +pub struct SrtSettingsRequest { + /// Placeholder documentation for __listOfSrtCallerSourceRequest + pub srt_caller_sources: ::std::option::Option<::std::vec::Vec>, +} +impl SrtSettingsRequest { + /// Placeholder documentation for __listOfSrtCallerSourceRequest + /// + /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.srt_caller_sources.is_none()`. + pub fn srt_caller_sources(&self) -> &[crate::types::SrtCallerSourceRequest] { + self.srt_caller_sources.as_deref().unwrap_or_default() + } +} +impl SrtSettingsRequest { + /// Creates a new builder-style object to manufacture [`SrtSettingsRequest`](crate::types::SrtSettingsRequest). + pub fn builder() -> crate::types::builders::SrtSettingsRequestBuilder { + crate::types::builders::SrtSettingsRequestBuilder::default() + } +} + +/// A builder for [`SrtSettingsRequest`](crate::types::SrtSettingsRequest). +#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)] +#[non_exhaustive] +pub struct SrtSettingsRequestBuilder { + pub(crate) srt_caller_sources: ::std::option::Option<::std::vec::Vec>, +} +impl SrtSettingsRequestBuilder { + /// Appends an item to `srt_caller_sources`. + /// + /// To override the contents of this collection use [`set_srt_caller_sources`](Self::set_srt_caller_sources). + /// + /// Placeholder documentation for __listOfSrtCallerSourceRequest + pub fn srt_caller_sources(mut self, input: crate::types::SrtCallerSourceRequest) -> Self { + let mut v = self.srt_caller_sources.unwrap_or_default(); + v.push(input); + self.srt_caller_sources = ::std::option::Option::Some(v); + self + } + /// Placeholder documentation for __listOfSrtCallerSourceRequest + pub fn set_srt_caller_sources(mut self, input: ::std::option::Option<::std::vec::Vec>) -> Self { + self.srt_caller_sources = input; + self + } + /// Placeholder documentation for __listOfSrtCallerSourceRequest + pub fn get_srt_caller_sources(&self) -> &::std::option::Option<::std::vec::Vec> { + &self.srt_caller_sources + } + /// Consumes the builder and constructs a [`SrtSettingsRequest`](crate::types::SrtSettingsRequest). + pub fn build(self) -> crate::types::SrtSettingsRequest { + crate::types::SrtSettingsRequest { + srt_caller_sources: self.srt_caller_sources, + } + } +} diff --git a/sdk/medialive/src/types/builders.rs b/sdk/medialive/src/types/builders.rs index e3ea8b46880c..411d5ed93a4c 100644 --- a/sdk/medialive/src/types/builders.rs +++ b/sdk/medialive/src/types/builders.rs @@ -53,6 +53,12 @@ pub use crate::types::_input_device_media_connect_configurable_settings::InputDe pub use crate::types::_input::InputBuilder; +pub use crate::types::_srt_settings::SrtSettingsBuilder; + +pub use crate::types::_srt_caller_source::SrtCallerSourceBuilder; + +pub use crate::types::_srt_caller_decryption::SrtCallerDecryptionBuilder; + pub use crate::types::_input_source::InputSourceBuilder; pub use crate::types::_media_connect_flow::MediaConnectFlowBuilder; @@ -63,6 +69,12 @@ pub use crate::types::_input_destination::InputDestinationBuilder; pub use crate::types::_input_destination_vpc::InputDestinationVpcBuilder; +pub use crate::types::_srt_settings_request::SrtSettingsRequestBuilder; + +pub use crate::types::_srt_caller_source_request::SrtCallerSourceRequestBuilder; + +pub use crate::types::_srt_caller_decryption_request::SrtCallerDecryptionRequestBuilder; + pub use crate::types::_input_source_request::InputSourceRequestBuilder; pub use crate::types::_media_connect_flow_request::MediaConnectFlowRequestBuilder; diff --git a/sdk/rds/Cargo.toml b/sdk/rds/Cargo.toml index 9c0b45e624d7..d6ee1a371b59 100644 --- a/sdk/rds/Cargo.toml +++ b/sdk/rds/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-rds" -version = "1.45.0" +version = "1.45.1" authors = ["AWS Rust SDK Team ", "Russell Cohen "] description = "AWS SDK for Amazon Relational Database Service" edition = "2021" diff --git a/sdk/rds/README.md b/sdk/rds/README.md index 5ac8d1ac9d97..a57eaeaa5801 100644 --- a/sdk/rds/README.md +++ b/sdk/rds/README.md @@ -28,7 +28,7 @@ your project, add the following to your **Cargo.toml** file: ```toml [dependencies] aws-config = { version = "1.1.7", features = ["behavior-version-latest"] } -aws-sdk-rds = "1.45.0" +aws-sdk-rds = "1.45.1" tokio = { version = "1", features = ["full"] } ``` diff --git a/sdk/rds/src/client/create_db_cluster.rs b/sdk/rds/src/client/create_db_cluster.rs index 09295292b502..b3f77a934b24 100644 --- a/sdk/rds/src/client/create_db_cluster.rs +++ b/sdk/rds/src/client/create_db_cluster.rs @@ -41,7 +41,7 @@ impl super::Client { /// - [`allocated_storage(i32)`](crate::operation::create_db_cluster::builders::CreateDBClusterFluentBuilder::allocated_storage) / [`set_allocated_storage(Option)`](crate::operation::create_db_cluster::builders::CreateDBClusterFluentBuilder::set_allocated_storage):
required: **false**

The amount of storage in gibibytes (GiB) to allocate to each DB instance in the Multi-AZ DB cluster.

Valid for Cluster Type: Multi-AZ DB clusters only

This setting is required to create a Multi-AZ DB cluster.


/// - [`storage_type(impl Into)`](crate::operation::create_db_cluster::builders::CreateDBClusterFluentBuilder::storage_type) / [`set_storage_type(Option)`](crate::operation::create_db_cluster::builders::CreateDBClusterFluentBuilder::set_storage_type):
required: **false**

The storage type to associate with the DB cluster.

For information on storage types for Aurora DB clusters, see Storage configurations for Amazon Aurora DB clusters. For information on storage types for Multi-AZ DB clusters, see Settings for creating Multi-AZ DB clusters.

This setting is required to create a Multi-AZ DB cluster.

When specified for a Multi-AZ DB cluster, a value for the Iops parameter is required.

Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters

Valid Values:

  • Aurora DB clusters - aurora | aurora-iopt1

  • Multi-AZ DB clusters - io1 | io2 | gp3

Default:

  • Aurora DB clusters - aurora

  • Multi-AZ DB clusters - io1

When you create an Aurora DB cluster with the storage type set to aurora-iopt1, the storage type is returned in the response. The storage type isn't returned when you set it to aurora.


/// - [`iops(i32)`](crate::operation::create_db_cluster::builders::CreateDBClusterFluentBuilder::iops) / [`set_iops(Option)`](crate::operation::create_db_cluster::builders::CreateDBClusterFluentBuilder::set_iops):
required: **false**

The amount of Provisioned IOPS (input/output operations per second) to be initially allocated for each DB instance in the Multi-AZ DB cluster.

For information about valid IOPS values, see Provisioned IOPS storage in the Amazon RDS User Guide.

This setting is required to create a Multi-AZ DB cluster.

Valid for Cluster Type: Multi-AZ DB clusters only

Constraints:

  • Must be a multiple between .5 and 50 of the storage amount for the DB cluster.


- /// - [`publicly_accessible(bool)`](crate::operation::create_db_cluster::builders::CreateDBClusterFluentBuilder::publicly_accessible) / [`set_publicly_accessible(Option)`](crate::operation::create_db_cluster::builders::CreateDBClusterFluentBuilder::set_publicly_accessible):
required: **false**

Specifies whether the DB cluster is publicly accessible.

When the DB cluster is publicly accessible, its Domain Name System (DNS) endpoint resolves to the private IP address from within the DB cluster's virtual private cloud (VPC). It resolves to the public IP address from outside of the DB cluster's VPC. Access to the DB cluster is ultimately controlled by the security group it uses. That public access isn't permitted if the security group assigned to the DB cluster doesn't permit it.

When the DB cluster isn't publicly accessible, it is an internal DB cluster with a DNS name that resolves to a private IP address.

Valid for Cluster Type: Multi-AZ DB clusters only

Default: The default behavior varies depending on whether DBSubnetGroupName is specified.

If DBSubnetGroupName isn't specified, and PubliclyAccessible isn't specified, the following applies:

  • If the default VPC in the target Region doesn’t have an internet gateway attached to it, the DB cluster is private.

  • If the default VPC in the target Region has an internet gateway attached to it, the DB cluster is public.

If DBSubnetGroupName is specified, and PubliclyAccessible isn't specified, the following applies:

  • If the subnets are part of a VPC that doesn’t have an internet gateway attached to it, the DB cluster is private.

  • If the subnets are part of a VPC that has an internet gateway attached to it, the DB cluster is public.


+ /// - [`publicly_accessible(bool)`](crate::operation::create_db_cluster::builders::CreateDBClusterFluentBuilder::publicly_accessible) / [`set_publicly_accessible(Option)`](crate::operation::create_db_cluster::builders::CreateDBClusterFluentBuilder::set_publicly_accessible):
required: **false**

Specifies whether the DB cluster is publicly accessible.

When the DB cluster is publicly accessible and you connect from outside of the DB cluster's virtual private cloud (VPC), its Domain Name System (DNS) endpoint resolves to the public IP address. When you connect from within the same VPC as the DB cluster, the endpoint resolves to the private IP address. Access to the DB cluster is ultimately controlled by the security group it uses. That public access isn't permitted if the security group assigned to the DB cluster doesn't permit it.

When the DB cluster isn't publicly accessible, it is an internal DB cluster with a DNS name that resolves to a private IP address.

Valid for Cluster Type: Multi-AZ DB clusters only

Default: The default behavior varies depending on whether DBSubnetGroupName is specified.

If DBSubnetGroupName isn't specified, and PubliclyAccessible isn't specified, the following applies:

  • If the default VPC in the target Region doesn’t have an internet gateway attached to it, the DB cluster is private.

  • If the default VPC in the target Region has an internet gateway attached to it, the DB cluster is public.

If DBSubnetGroupName is specified, and PubliclyAccessible isn't specified, the following applies:

  • If the subnets are part of a VPC that doesn’t have an internet gateway attached to it, the DB cluster is private.

  • If the subnets are part of a VPC that has an internet gateway attached to it, the DB cluster is public.


/// - [`auto_minor_version_upgrade(bool)`](crate::operation::create_db_cluster::builders::CreateDBClusterFluentBuilder::auto_minor_version_upgrade) / [`set_auto_minor_version_upgrade(Option)`](crate::operation::create_db_cluster::builders::CreateDBClusterFluentBuilder::set_auto_minor_version_upgrade):
required: **false**

Specifies whether minor engine upgrades are applied automatically to the DB cluster during the maintenance window. By default, minor engine upgrades are applied automatically.

Valid for Cluster Type: Multi-AZ DB clusters only


/// - [`monitoring_interval(i32)`](crate::operation::create_db_cluster::builders::CreateDBClusterFluentBuilder::monitoring_interval) / [`set_monitoring_interval(Option)`](crate::operation::create_db_cluster::builders::CreateDBClusterFluentBuilder::set_monitoring_interval):
required: **false**

The interval, in seconds, between points when Enhanced Monitoring metrics are collected for the DB cluster. To turn off collecting Enhanced Monitoring metrics, specify 0.

If MonitoringRoleArn is specified, also set MonitoringInterval to a value other than 0.

Valid for Cluster Type: Multi-AZ DB clusters only

Valid Values: 0 | 1 | 5 | 10 | 15 | 30 | 60

Default: 0


/// - [`monitoring_role_arn(impl Into)`](crate::operation::create_db_cluster::builders::CreateDBClusterFluentBuilder::monitoring_role_arn) / [`set_monitoring_role_arn(Option)`](crate::operation::create_db_cluster::builders::CreateDBClusterFluentBuilder::set_monitoring_role_arn):
required: **false**

The Amazon Resource Name (ARN) for the IAM role that permits RDS to send Enhanced Monitoring metrics to Amazon CloudWatch Logs. An example is arn:aws:iam:123456789012:role/emaccess. For information on creating a monitoring role, see Setting up and enabling Enhanced Monitoring in the Amazon RDS User Guide.

If MonitoringInterval is set to a value other than 0, supply a MonitoringRoleArn value.

Valid for Cluster Type: Multi-AZ DB clusters only


diff --git a/sdk/rds/src/client/create_db_instance.rs b/sdk/rds/src/client/create_db_instance.rs index 79586f094c91..2db1aa8b5f9a 100644 --- a/sdk/rds/src/client/create_db_instance.rs +++ b/sdk/rds/src/client/create_db_instance.rs @@ -27,7 +27,7 @@ impl super::Client { /// - [`option_group_name(impl Into)`](crate::operation::create_db_instance::builders::CreateDBInstanceFluentBuilder::option_group_name) / [`set_option_group_name(Option)`](crate::operation::create_db_instance::builders::CreateDBInstanceFluentBuilder::set_option_group_name):
required: **false**

The option group to associate the DB instance with.

Permanent options, such as the TDE option for Oracle Advanced Security TDE, can't be removed from an option group. Also, that option group can't be removed from a DB instance after it is associated with a DB instance.

This setting doesn't apply to Amazon Aurora or RDS Custom DB instances.


/// - [`character_set_name(impl Into)`](crate::operation::create_db_instance::builders::CreateDBInstanceFluentBuilder::character_set_name) / [`set_character_set_name(Option)`](crate::operation::create_db_instance::builders::CreateDBInstanceFluentBuilder::set_character_set_name):
required: **false**

For supported engines, the character set (CharacterSet) to associate the DB instance with.

This setting doesn't apply to the following DB instances:

  • Amazon Aurora - The character set is managed by the DB cluster. For more information, see CreateDBCluster.

  • RDS Custom - However, if you need to change the character set, you can change it on the database itself.


/// - [`nchar_character_set_name(impl Into)`](crate::operation::create_db_instance::builders::CreateDBInstanceFluentBuilder::nchar_character_set_name) / [`set_nchar_character_set_name(Option)`](crate::operation::create_db_instance::builders::CreateDBInstanceFluentBuilder::set_nchar_character_set_name):
required: **false**

The name of the NCHAR character set for the Oracle DB instance.

This setting doesn't apply to RDS Custom DB instances.


- /// - [`publicly_accessible(bool)`](crate::operation::create_db_instance::builders::CreateDBInstanceFluentBuilder::publicly_accessible) / [`set_publicly_accessible(Option)`](crate::operation::create_db_instance::builders::CreateDBInstanceFluentBuilder::set_publicly_accessible):
required: **false**

Specifies whether the DB instance is publicly accessible.

When the DB instance is publicly accessible, its Domain Name System (DNS) endpoint resolves to the private IP address from within the DB instance's virtual private cloud (VPC). It resolves to the public IP address from outside of the DB instance's VPC. Access to the DB instance is ultimately controlled by the security group it uses. That public access is not permitted if the security group assigned to the DB instance doesn't permit it.

When the DB instance isn't publicly accessible, it is an internal DB instance with a DNS name that resolves to a private IP address.

Default: The default behavior varies depending on whether DBSubnetGroupName is specified.

If DBSubnetGroupName isn't specified, and PubliclyAccessible isn't specified, the following applies:

  • If the default VPC in the target Region doesn’t have an internet gateway attached to it, the DB instance is private.

  • If the default VPC in the target Region has an internet gateway attached to it, the DB instance is public.

If DBSubnetGroupName is specified, and PubliclyAccessible isn't specified, the following applies:

  • If the subnets are part of a VPC that doesn’t have an internet gateway attached to it, the DB instance is private.

  • If the subnets are part of a VPC that has an internet gateway attached to it, the DB instance is public.


+ /// - [`publicly_accessible(bool)`](crate::operation::create_db_instance::builders::CreateDBInstanceFluentBuilder::publicly_accessible) / [`set_publicly_accessible(Option)`](crate::operation::create_db_instance::builders::CreateDBInstanceFluentBuilder::set_publicly_accessible):
required: **false**

Specifies whether the DB instance is publicly accessible.

When the DB instance is publicly accessible and you connect from outside of the DB instance's virtual private cloud (VPC), its Domain Name System (DNS) endpoint resolves to the public IP address. When you connect from within the same VPC as the DB instance, the endpoint resolves to the private IP address. Access to the DB instance is ultimately controlled by the security group it uses. That public access is not permitted if the security group assigned to the DB instance doesn't permit it.

When the DB instance isn't publicly accessible, it is an internal DB instance with a DNS name that resolves to a private IP address.

Default: The default behavior varies depending on whether DBSubnetGroupName is specified.

If DBSubnetGroupName isn't specified, and PubliclyAccessible isn't specified, the following applies:

  • If the default VPC in the target Region doesn’t have an internet gateway attached to it, the DB instance is private.

  • If the default VPC in the target Region has an internet gateway attached to it, the DB instance is public.

If DBSubnetGroupName is specified, and PubliclyAccessible isn't specified, the following applies:

  • If the subnets are part of a VPC that doesn’t have an internet gateway attached to it, the DB instance is private.

  • If the subnets are part of a VPC that has an internet gateway attached to it, the DB instance is public.


/// - [`tags(Tag)`](crate::operation::create_db_instance::builders::CreateDBInstanceFluentBuilder::tags) / [`set_tags(Option>)`](crate::operation::create_db_instance::builders::CreateDBInstanceFluentBuilder::set_tags):
required: **false**

Tags to assign to the DB instance.


/// - [`db_cluster_identifier(impl Into)`](crate::operation::create_db_instance::builders::CreateDBInstanceFluentBuilder::db_cluster_identifier) / [`set_db_cluster_identifier(Option)`](crate::operation::create_db_instance::builders::CreateDBInstanceFluentBuilder::set_db_cluster_identifier):
required: **false**

The identifier of the DB cluster that this DB instance will belong to.

This setting doesn't apply to RDS Custom DB instances.


/// - [`storage_type(impl Into)`](crate::operation::create_db_instance::builders::CreateDBInstanceFluentBuilder::storage_type) / [`set_storage_type(Option)`](crate::operation::create_db_instance::builders::CreateDBInstanceFluentBuilder::set_storage_type):
required: **false**

The storage type to associate with the DB instance.

If you specify io1, io2, or gp3, you must also include a value for the Iops parameter.

This setting doesn't apply to Amazon Aurora DB instances. Storage is managed by the DB cluster.

Valid Values: gp2 | gp3 | io1 | io2 | standard

Default: io1, if the Iops parameter is specified. Otherwise, gp2.


diff --git a/sdk/rds/src/client/delete_db_cluster.rs b/sdk/rds/src/client/delete_db_cluster.rs index 084a41e9b9f7..31ba9bc416c1 100644 --- a/sdk/rds/src/client/delete_db_cluster.rs +++ b/sdk/rds/src/client/delete_db_cluster.rs @@ -6,7 +6,7 @@ impl super::Client { /// - [`db_cluster_identifier(impl Into)`](crate::operation::delete_db_cluster::builders::DeleteDBClusterFluentBuilder::db_cluster_identifier) / [`set_db_cluster_identifier(Option)`](crate::operation::delete_db_cluster::builders::DeleteDBClusterFluentBuilder::set_db_cluster_identifier):
required: **true**

The DB cluster identifier for the DB cluster to be deleted. This parameter isn't case-sensitive.

Constraints:

  • Must match an existing DBClusterIdentifier.


/// - [`skip_final_snapshot(bool)`](crate::operation::delete_db_cluster::builders::DeleteDBClusterFluentBuilder::skip_final_snapshot) / [`set_skip_final_snapshot(Option)`](crate::operation::delete_db_cluster::builders::DeleteDBClusterFluentBuilder::set_skip_final_snapshot):
required: **false**

Specifies whether to skip the creation of a final DB cluster snapshot before the DB cluster is deleted. If skip is specified, no DB cluster snapshot is created. If skip isn't specified, a DB cluster snapshot is created before the DB cluster is deleted. By default, skip isn't specified, and the DB cluster snapshot is created. By default, this parameter is disabled.

You must specify a FinalDBSnapshotIdentifier parameter if SkipFinalSnapshot is disabled.


/// - [`final_db_snapshot_identifier(impl Into)`](crate::operation::delete_db_cluster::builders::DeleteDBClusterFluentBuilder::final_db_snapshot_identifier) / [`set_final_db_snapshot_identifier(Option)`](crate::operation::delete_db_cluster::builders::DeleteDBClusterFluentBuilder::set_final_db_snapshot_identifier):
required: **false**

The DB cluster snapshot identifier of the new DB cluster snapshot created when SkipFinalSnapshot is disabled.

Specifying this parameter and also skipping the creation of a final DB cluster snapshot with the SkipFinalShapshot parameter results in an error.

Constraints:

  • Must be 1 to 255 letters, numbers, or hyphens.

  • First character must be a letter

  • Can't end with a hyphen or contain two consecutive hyphens


- /// - [`delete_automated_backups(bool)`](crate::operation::delete_db_cluster::builders::DeleteDBClusterFluentBuilder::delete_automated_backups) / [`set_delete_automated_backups(Option)`](crate::operation::delete_db_cluster::builders::DeleteDBClusterFluentBuilder::set_delete_automated_backups):
required: **false**

Specifies whether to remove automated backups immediately after the DB cluster is deleted. This parameter isn't case-sensitive. The default is to remove automated backups immediately after the DB cluster is deleted.


+ /// - [`delete_automated_backups(bool)`](crate::operation::delete_db_cluster::builders::DeleteDBClusterFluentBuilder::delete_automated_backups) / [`set_delete_automated_backups(Option)`](crate::operation::delete_db_cluster::builders::DeleteDBClusterFluentBuilder::set_delete_automated_backups):
required: **false**

Specifies whether to remove automated backups immediately after the DB cluster is deleted. This parameter isn't case-sensitive. The default is to remove automated backups immediately after the DB cluster is deleted.

You must delete automated backups for Amazon RDS Multi-AZ DB clusters. For more information about managing automated backups for RDS Multi-AZ DB clusters, see Managing automated backups.


/// - On success, responds with [`DeleteDbClusterOutput`](crate::operation::delete_db_cluster::DeleteDbClusterOutput) with field(s): /// - [`db_cluster(Option)`](crate::operation::delete_db_cluster::DeleteDbClusterOutput::db_cluster):

Contains the details of an Amazon Aurora DB cluster or Multi-AZ DB cluster.

For an Amazon Aurora DB cluster, this data type is used as a response element in the operations CreateDBCluster, DeleteDBCluster, DescribeDBClusters, FailoverDBCluster, ModifyDBCluster, PromoteReadReplicaDBCluster, RestoreDBClusterFromS3, RestoreDBClusterFromSnapshot, RestoreDBClusterToPointInTime, StartDBCluster, and StopDBCluster.

For a Multi-AZ DB cluster, this data type is used as a response element in the operations CreateDBCluster, DeleteDBCluster, DescribeDBClusters, FailoverDBCluster, ModifyDBCluster, RebootDBCluster, RestoreDBClusterFromSnapshot, and RestoreDBClusterToPointInTime.

For more information on Amazon Aurora DB clusters, see What is Amazon Aurora? in the Amazon Aurora User Guide.

For more information on Multi-AZ DB clusters, see Multi-AZ deployments with two readable standby DB instances in the Amazon RDS User Guide.

/// - On failure, responds with [`SdkError`](crate::operation::delete_db_cluster::DeleteDBClusterError) diff --git a/sdk/rds/src/client/describe_db_cluster_parameters.rs b/sdk/rds/src/client/describe_db_cluster_parameters.rs index d0f168da7c64..aec798c07758 100644 --- a/sdk/rds/src/client/describe_db_cluster_parameters.rs +++ b/sdk/rds/src/client/describe_db_cluster_parameters.rs @@ -5,7 +5,7 @@ impl super::Client { /// /// - The fluent builder is configurable: /// - [`db_cluster_parameter_group_name(impl Into)`](crate::operation::describe_db_cluster_parameters::builders::DescribeDBClusterParametersFluentBuilder::db_cluster_parameter_group_name) / [`set_db_cluster_parameter_group_name(Option)`](crate::operation::describe_db_cluster_parameters::builders::DescribeDBClusterParametersFluentBuilder::set_db_cluster_parameter_group_name):
required: **true**

The name of a specific DB cluster parameter group to return parameter details for.

Constraints:

  • If supplied, must match the name of an existing DBClusterParameterGroup.


- /// - [`source(impl Into)`](crate::operation::describe_db_cluster_parameters::builders::DescribeDBClusterParametersFluentBuilder::source) / [`set_source(Option)`](crate::operation::describe_db_cluster_parameters::builders::DescribeDBClusterParametersFluentBuilder::set_source):
required: **false**

A specific source to return parameters for.

Valid Values:

  • customer

  • engine

  • service


+ /// - [`source(impl Into)`](crate::operation::describe_db_cluster_parameters::builders::DescribeDBClusterParametersFluentBuilder::source) / [`set_source(Option)`](crate::operation::describe_db_cluster_parameters::builders::DescribeDBClusterParametersFluentBuilder::set_source):
required: **false**

A specific source to return parameters for.

Valid Values:

  • user

  • engine

  • service


/// - [`filters(Filter)`](crate::operation::describe_db_cluster_parameters::builders::DescribeDBClusterParametersFluentBuilder::filters) / [`set_filters(Option>)`](crate::operation::describe_db_cluster_parameters::builders::DescribeDBClusterParametersFluentBuilder::set_filters):
required: **false**

This parameter isn't currently supported.


/// - [`max_records(i32)`](crate::operation::describe_db_cluster_parameters::builders::DescribeDBClusterParametersFluentBuilder::max_records) / [`set_max_records(Option)`](crate::operation::describe_db_cluster_parameters::builders::DescribeDBClusterParametersFluentBuilder::set_max_records):
required: **false**

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so you can retrieve the remaining results.

Default: 100

Constraints: Minimum 20, maximum 100.


/// - [`marker(impl Into)`](crate::operation::describe_db_cluster_parameters::builders::DescribeDBClusterParametersFluentBuilder::marker) / [`set_marker(Option)`](crate::operation::describe_db_cluster_parameters::builders::DescribeDBClusterParametersFluentBuilder::set_marker):
required: **false**

An optional pagination token provided by a previous DescribeDBClusterParameters request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.


diff --git a/sdk/rds/src/client/modify_db_instance.rs b/sdk/rds/src/client/modify_db_instance.rs index a242de31d434..107b2c3fa51b 100644 --- a/sdk/rds/src/client/modify_db_instance.rs +++ b/sdk/rds/src/client/modify_db_instance.rs @@ -35,7 +35,7 @@ impl super::Client { /// - [`copy_tags_to_snapshot(bool)`](crate::operation::modify_db_instance::builders::ModifyDBInstanceFluentBuilder::copy_tags_to_snapshot) / [`set_copy_tags_to_snapshot(Option)`](crate::operation::modify_db_instance::builders::ModifyDBInstanceFluentBuilder::set_copy_tags_to_snapshot):
required: **false**

Specifies whether to copy all tags from the DB instance to snapshots of the DB instance. By default, tags aren't copied.

This setting doesn't apply to Amazon Aurora DB instances. Copying tags to snapshots is managed by the DB cluster. Setting this value for an Aurora DB instance has no effect on the DB cluster setting. For more information, see ModifyDBCluster.


/// - [`monitoring_interval(i32)`](crate::operation::modify_db_instance::builders::ModifyDBInstanceFluentBuilder::monitoring_interval) / [`set_monitoring_interval(Option)`](crate::operation::modify_db_instance::builders::ModifyDBInstanceFluentBuilder::set_monitoring_interval):
required: **false**

The interval, in seconds, between points when Enhanced Monitoring metrics are collected for the DB instance. To disable collection of Enhanced Monitoring metrics, specify 0.

If MonitoringRoleArn is specified, set MonitoringInterval to a value other than 0.

This setting doesn't apply to RDS Custom DB instances.

Valid Values: 0 | 1 | 5 | 10 | 15 | 30 | 60

Default: 0


/// - [`db_port_number(i32)`](crate::operation::modify_db_instance::builders::ModifyDBInstanceFluentBuilder::db_port_number) / [`set_db_port_number(Option)`](crate::operation::modify_db_instance::builders::ModifyDBInstanceFluentBuilder::set_db_port_number):
required: **false**

The port number on which the database accepts connections.

The value of the DBPortNumber parameter must not match any of the port values specified for options in the option group for the DB instance.

If you change the DBPortNumber value, your database restarts regardless of the value of the ApplyImmediately parameter.

This setting doesn't apply to RDS Custom DB instances.

Valid Values: 1150-65535

Default:

  • Amazon Aurora - 3306

  • RDS for Db2 - 50000

  • RDS for MariaDB - 3306

  • RDS for Microsoft SQL Server - 1433

  • RDS for MySQL - 3306

  • RDS for Oracle - 1521

  • RDS for PostgreSQL - 5432

Constraints:

  • For RDS for Microsoft SQL Server, the value can't be 1234, 1434, 3260, 3343, 3389, 47001, or 49152-49156.


- /// - [`publicly_accessible(bool)`](crate::operation::modify_db_instance::builders::ModifyDBInstanceFluentBuilder::publicly_accessible) / [`set_publicly_accessible(Option)`](crate::operation::modify_db_instance::builders::ModifyDBInstanceFluentBuilder::set_publicly_accessible):
required: **false**

Specifies whether the DB instance is publicly accessible.

When the DB cluster is publicly accessible, its Domain Name System (DNS) endpoint resolves to the private IP address from within the DB cluster's virtual private cloud (VPC). It resolves to the public IP address from outside of the DB cluster's VPC. Access to the DB cluster is ultimately controlled by the security group it uses. That public access isn't permitted if the security group assigned to the DB cluster doesn't permit it.

When the DB instance isn't publicly accessible, it is an internal DB instance with a DNS name that resolves to a private IP address.

PubliclyAccessible only applies to DB instances in a VPC. The DB instance must be part of a public subnet and PubliclyAccessible must be enabled for it to be publicly accessible.

Changes to the PubliclyAccessible parameter are applied immediately regardless of the value of the ApplyImmediately parameter.


+ /// - [`publicly_accessible(bool)`](crate::operation::modify_db_instance::builders::ModifyDBInstanceFluentBuilder::publicly_accessible) / [`set_publicly_accessible(Option)`](crate::operation::modify_db_instance::builders::ModifyDBInstanceFluentBuilder::set_publicly_accessible):
required: **false**

Specifies whether the DB instance is publicly accessible.

When the DB instance is publicly accessible and you connect from outside of the DB instance's virtual private cloud (VPC), its Domain Name System (DNS) endpoint resolves to the public IP address. When you connect from within the same VPC as the DB instance, the endpoint resolves to the private IP address. Access to the DB instance is ultimately controlled by the security group it uses. That public access isn't permitted if the security group assigned to the DB instance doesn't permit it.

When the DB instance isn't publicly accessible, it is an internal DB instance with a DNS name that resolves to a private IP address.

PubliclyAccessible only applies to DB instances in a VPC. The DB instance must be part of a public subnet and PubliclyAccessible must be enabled for it to be publicly accessible.

Changes to the PubliclyAccessible parameter are applied immediately regardless of the value of the ApplyImmediately parameter.


/// - [`monitoring_role_arn(impl Into)`](crate::operation::modify_db_instance::builders::ModifyDBInstanceFluentBuilder::monitoring_role_arn) / [`set_monitoring_role_arn(Option)`](crate::operation::modify_db_instance::builders::ModifyDBInstanceFluentBuilder::set_monitoring_role_arn):
required: **false**

The ARN for the IAM role that permits RDS to send enhanced monitoring metrics to Amazon CloudWatch Logs. For example, arn:aws:iam:123456789012:role/emaccess. For information on creating a monitoring role, see To create an IAM role for Amazon RDS Enhanced Monitoring in the Amazon RDS User Guide.

If MonitoringInterval is set to a value other than 0, supply a MonitoringRoleArn value.

This setting doesn't apply to RDS Custom DB instances.


/// - [`domain_iam_role_name(impl Into)`](crate::operation::modify_db_instance::builders::ModifyDBInstanceFluentBuilder::domain_iam_role_name) / [`set_domain_iam_role_name(Option)`](crate::operation::modify_db_instance::builders::ModifyDBInstanceFluentBuilder::set_domain_iam_role_name):
required: **false**

The name of the IAM role to use when making API calls to the Directory Service.

This setting doesn't apply to RDS Custom DB instances.


/// - [`disable_domain(bool)`](crate::operation::modify_db_instance::builders::ModifyDBInstanceFluentBuilder::disable_domain) / [`set_disable_domain(Option)`](crate::operation::modify_db_instance::builders::ModifyDBInstanceFluentBuilder::set_disable_domain):
required: **false**

Specifies whether to remove the DB instance from the Active Directory domain.


diff --git a/sdk/rds/src/lib.rs b/sdk/rds/src/lib.rs index 762859de37a7..e7e380ea0012 100644 --- a/sdk/rds/src/lib.rs +++ b/sdk/rds/src/lib.rs @@ -45,7 +45,7 @@ //! ```toml //! [dependencies] //! aws-config = { version = "1.1.7", features = ["behavior-version-latest"] } -//! aws-sdk-rds = "1.45.0" +//! aws-sdk-rds = "1.45.1" //! tokio = { version = "1", features = ["full"] } //! ``` //! diff --git a/sdk/rds/src/operation/create_db_cluster/_create_db_cluster_input.rs b/sdk/rds/src/operation/create_db_cluster/_create_db_cluster_input.rs index 60be332f3fb0..a19a2e16cd73 100644 --- a/sdk/rds/src/operation/create_db_cluster/_create_db_cluster_input.rs +++ b/sdk/rds/src/operation/create_db_cluster/_create_db_cluster_input.rs @@ -327,7 +327,7 @@ pub struct CreateDbClusterInput { /// pub iops: ::std::option::Option, ///

Specifies whether the DB cluster is publicly accessible.

- ///

When the DB cluster is publicly accessible, its Domain Name System (DNS) endpoint resolves to the private IP address from within the DB cluster's virtual private cloud (VPC). It resolves to the public IP address from outside of the DB cluster's VPC. Access to the DB cluster is ultimately controlled by the security group it uses. That public access isn't permitted if the security group assigned to the DB cluster doesn't permit it.

+ ///

When the DB cluster is publicly accessible and you connect from outside of the DB cluster's virtual private cloud (VPC), its Domain Name System (DNS) endpoint resolves to the public IP address. When you connect from within the same VPC as the DB cluster, the endpoint resolves to the private IP address. Access to the DB cluster is ultimately controlled by the security group it uses. That public access isn't permitted if the security group assigned to the DB cluster doesn't permit it.

///

When the DB cluster isn't publicly accessible, it is an internal DB cluster with a DNS name that resolves to a private IP address.

///

Valid for Cluster Type: Multi-AZ DB clusters only

///

Default: The default behavior varies depending on whether DBSubnetGroupName is specified.

@@ -842,7 +842,7 @@ impl CreateDbClusterInput { self.iops } ///

Specifies whether the DB cluster is publicly accessible.

- ///

When the DB cluster is publicly accessible, its Domain Name System (DNS) endpoint resolves to the private IP address from within the DB cluster's virtual private cloud (VPC). It resolves to the public IP address from outside of the DB cluster's VPC. Access to the DB cluster is ultimately controlled by the security group it uses. That public access isn't permitted if the security group assigned to the DB cluster doesn't permit it.

+ ///

When the DB cluster is publicly accessible and you connect from outside of the DB cluster's virtual private cloud (VPC), its Domain Name System (DNS) endpoint resolves to the public IP address. When you connect from within the same VPC as the DB cluster, the endpoint resolves to the private IP address. Access to the DB cluster is ultimately controlled by the security group it uses. That public access isn't permitted if the security group assigned to the DB cluster doesn't permit it.

///

When the DB cluster isn't publicly accessible, it is an internal DB cluster with a DNS name that resolves to a private IP address.

///

Valid for Cluster Type: Multi-AZ DB clusters only

///

Default: The default behavior varies depending on whether DBSubnetGroupName is specified.

@@ -2345,7 +2345,7 @@ impl CreateDbClusterInputBuilder { &self.iops } ///

Specifies whether the DB cluster is publicly accessible.

- ///

When the DB cluster is publicly accessible, its Domain Name System (DNS) endpoint resolves to the private IP address from within the DB cluster's virtual private cloud (VPC). It resolves to the public IP address from outside of the DB cluster's VPC. Access to the DB cluster is ultimately controlled by the security group it uses. That public access isn't permitted if the security group assigned to the DB cluster doesn't permit it.

+ ///

When the DB cluster is publicly accessible and you connect from outside of the DB cluster's virtual private cloud (VPC), its Domain Name System (DNS) endpoint resolves to the public IP address. When you connect from within the same VPC as the DB cluster, the endpoint resolves to the private IP address. Access to the DB cluster is ultimately controlled by the security group it uses. That public access isn't permitted if the security group assigned to the DB cluster doesn't permit it.

///

When the DB cluster isn't publicly accessible, it is an internal DB cluster with a DNS name that resolves to a private IP address.

///

Valid for Cluster Type: Multi-AZ DB clusters only

///

Default: The default behavior varies depending on whether DBSubnetGroupName is specified.

@@ -2368,7 +2368,7 @@ impl CreateDbClusterInputBuilder { self } ///

Specifies whether the DB cluster is publicly accessible.

- ///

When the DB cluster is publicly accessible, its Domain Name System (DNS) endpoint resolves to the private IP address from within the DB cluster's virtual private cloud (VPC). It resolves to the public IP address from outside of the DB cluster's VPC. Access to the DB cluster is ultimately controlled by the security group it uses. That public access isn't permitted if the security group assigned to the DB cluster doesn't permit it.

+ ///

When the DB cluster is publicly accessible and you connect from outside of the DB cluster's virtual private cloud (VPC), its Domain Name System (DNS) endpoint resolves to the public IP address. When you connect from within the same VPC as the DB cluster, the endpoint resolves to the private IP address. Access to the DB cluster is ultimately controlled by the security group it uses. That public access isn't permitted if the security group assigned to the DB cluster doesn't permit it.

///

When the DB cluster isn't publicly accessible, it is an internal DB cluster with a DNS name that resolves to a private IP address.

///

Valid for Cluster Type: Multi-AZ DB clusters only

///

Default: The default behavior varies depending on whether DBSubnetGroupName is specified.

@@ -2391,7 +2391,7 @@ impl CreateDbClusterInputBuilder { self } ///

Specifies whether the DB cluster is publicly accessible.

- ///

When the DB cluster is publicly accessible, its Domain Name System (DNS) endpoint resolves to the private IP address from within the DB cluster's virtual private cloud (VPC). It resolves to the public IP address from outside of the DB cluster's VPC. Access to the DB cluster is ultimately controlled by the security group it uses. That public access isn't permitted if the security group assigned to the DB cluster doesn't permit it.

+ ///

When the DB cluster is publicly accessible and you connect from outside of the DB cluster's virtual private cloud (VPC), its Domain Name System (DNS) endpoint resolves to the public IP address. When you connect from within the same VPC as the DB cluster, the endpoint resolves to the private IP address. Access to the DB cluster is ultimately controlled by the security group it uses. That public access isn't permitted if the security group assigned to the DB cluster doesn't permit it.

///

When the DB cluster isn't publicly accessible, it is an internal DB cluster with a DNS name that resolves to a private IP address.

///

Valid for Cluster Type: Multi-AZ DB clusters only

///

Default: The default behavior varies depending on whether DBSubnetGroupName is specified.

diff --git a/sdk/rds/src/operation/create_db_cluster/builders.rs b/sdk/rds/src/operation/create_db_cluster/builders.rs index f07299830eb8..ef1f13e1a61d 100644 --- a/sdk/rds/src/operation/create_db_cluster/builders.rs +++ b/sdk/rds/src/operation/create_db_cluster/builders.rs @@ -1402,7 +1402,7 @@ impl CreateDBClusterFluentBuilder { self.inner.get_iops() } ///

Specifies whether the DB cluster is publicly accessible.

- ///

When the DB cluster is publicly accessible, its Domain Name System (DNS) endpoint resolves to the private IP address from within the DB cluster's virtual private cloud (VPC). It resolves to the public IP address from outside of the DB cluster's VPC. Access to the DB cluster is ultimately controlled by the security group it uses. That public access isn't permitted if the security group assigned to the DB cluster doesn't permit it.

+ ///

When the DB cluster is publicly accessible and you connect from outside of the DB cluster's virtual private cloud (VPC), its Domain Name System (DNS) endpoint resolves to the public IP address. When you connect from within the same VPC as the DB cluster, the endpoint resolves to the private IP address. Access to the DB cluster is ultimately controlled by the security group it uses. That public access isn't permitted if the security group assigned to the DB cluster doesn't permit it.

///

When the DB cluster isn't publicly accessible, it is an internal DB cluster with a DNS name that resolves to a private IP address.

///

Valid for Cluster Type: Multi-AZ DB clusters only

///

Default: The default behavior varies depending on whether DBSubnetGroupName is specified.

@@ -1425,7 +1425,7 @@ impl CreateDBClusterFluentBuilder { self } ///

Specifies whether the DB cluster is publicly accessible.

- ///

When the DB cluster is publicly accessible, its Domain Name System (DNS) endpoint resolves to the private IP address from within the DB cluster's virtual private cloud (VPC). It resolves to the public IP address from outside of the DB cluster's VPC. Access to the DB cluster is ultimately controlled by the security group it uses. That public access isn't permitted if the security group assigned to the DB cluster doesn't permit it.

+ ///

When the DB cluster is publicly accessible and you connect from outside of the DB cluster's virtual private cloud (VPC), its Domain Name System (DNS) endpoint resolves to the public IP address. When you connect from within the same VPC as the DB cluster, the endpoint resolves to the private IP address. Access to the DB cluster is ultimately controlled by the security group it uses. That public access isn't permitted if the security group assigned to the DB cluster doesn't permit it.

///

When the DB cluster isn't publicly accessible, it is an internal DB cluster with a DNS name that resolves to a private IP address.

///

Valid for Cluster Type: Multi-AZ DB clusters only

///

Default: The default behavior varies depending on whether DBSubnetGroupName is specified.

@@ -1448,7 +1448,7 @@ impl CreateDBClusterFluentBuilder { self } ///

Specifies whether the DB cluster is publicly accessible.

- ///

When the DB cluster is publicly accessible, its Domain Name System (DNS) endpoint resolves to the private IP address from within the DB cluster's virtual private cloud (VPC). It resolves to the public IP address from outside of the DB cluster's VPC. Access to the DB cluster is ultimately controlled by the security group it uses. That public access isn't permitted if the security group assigned to the DB cluster doesn't permit it.

+ ///

When the DB cluster is publicly accessible and you connect from outside of the DB cluster's virtual private cloud (VPC), its Domain Name System (DNS) endpoint resolves to the public IP address. When you connect from within the same VPC as the DB cluster, the endpoint resolves to the private IP address. Access to the DB cluster is ultimately controlled by the security group it uses. That public access isn't permitted if the security group assigned to the DB cluster doesn't permit it.

///

When the DB cluster isn't publicly accessible, it is an internal DB cluster with a DNS name that resolves to a private IP address.

///

Valid for Cluster Type: Multi-AZ DB clusters only

///

Default: The default behavior varies depending on whether DBSubnetGroupName is specified.

diff --git a/sdk/rds/src/operation/create_db_instance/_create_db_instance_input.rs b/sdk/rds/src/operation/create_db_instance/_create_db_instance_input.rs index 3ba2df925b91..112ca667fc46 100644 --- a/sdk/rds/src/operation/create_db_instance/_create_db_instance_input.rs +++ b/sdk/rds/src/operation/create_db_instance/_create_db_instance_input.rs @@ -578,7 +578,7 @@ pub struct CreateDbInstanceInput { ///

This setting doesn't apply to RDS Custom DB instances.

pub nchar_character_set_name: ::std::option::Option<::std::string::String>, ///

Specifies whether the DB instance is publicly accessible.

- ///

When the DB instance is publicly accessible, its Domain Name System (DNS) endpoint resolves to the private IP address from within the DB instance's virtual private cloud (VPC). It resolves to the public IP address from outside of the DB instance's VPC. Access to the DB instance is ultimately controlled by the security group it uses. That public access is not permitted if the security group assigned to the DB instance doesn't permit it.

+ ///

When the DB instance is publicly accessible and you connect from outside of the DB instance's virtual private cloud (VPC), its Domain Name System (DNS) endpoint resolves to the public IP address. When you connect from within the same VPC as the DB instance, the endpoint resolves to the private IP address. Access to the DB instance is ultimately controlled by the security group it uses. That public access is not permitted if the security group assigned to the DB instance doesn't permit it.

///

When the DB instance isn't publicly accessible, it is an internal DB instance with a DNS name that resolves to a private IP address.

///

Default: The default behavior varies depending on whether DBSubnetGroupName is specified.

///

If DBSubnetGroupName isn't specified, and PubliclyAccessible isn't specified, the following applies:

@@ -1468,7 +1468,7 @@ impl CreateDbInstanceInput { self.nchar_character_set_name.as_deref() } ///

Specifies whether the DB instance is publicly accessible.

- ///

When the DB instance is publicly accessible, its Domain Name System (DNS) endpoint resolves to the private IP address from within the DB instance's virtual private cloud (VPC). It resolves to the public IP address from outside of the DB instance's VPC. Access to the DB instance is ultimately controlled by the security group it uses. That public access is not permitted if the security group assigned to the DB instance doesn't permit it.

+ ///

When the DB instance is publicly accessible and you connect from outside of the DB instance's virtual private cloud (VPC), its Domain Name System (DNS) endpoint resolves to the public IP address. When you connect from within the same VPC as the DB instance, the endpoint resolves to the private IP address. Access to the DB instance is ultimately controlled by the security group it uses. That public access is not permitted if the security group assigned to the DB instance doesn't permit it.

///

When the DB instance isn't publicly accessible, it is an internal DB instance with a DNS name that resolves to a private IP address.

///

Default: The default behavior varies depending on whether DBSubnetGroupName is specified.

///

If DBSubnetGroupName isn't specified, and PubliclyAccessible isn't specified, the following applies:

@@ -3820,7 +3820,7 @@ impl CreateDbInstanceInputBuilder { &self.nchar_character_set_name } ///

Specifies whether the DB instance is publicly accessible.

- ///

When the DB instance is publicly accessible, its Domain Name System (DNS) endpoint resolves to the private IP address from within the DB instance's virtual private cloud (VPC). It resolves to the public IP address from outside of the DB instance's VPC. Access to the DB instance is ultimately controlled by the security group it uses. That public access is not permitted if the security group assigned to the DB instance doesn't permit it.

+ ///

When the DB instance is publicly accessible and you connect from outside of the DB instance's virtual private cloud (VPC), its Domain Name System (DNS) endpoint resolves to the public IP address. When you connect from within the same VPC as the DB instance, the endpoint resolves to the private IP address. Access to the DB instance is ultimately controlled by the security group it uses. That public access is not permitted if the security group assigned to the DB instance doesn't permit it.

///

When the DB instance isn't publicly accessible, it is an internal DB instance with a DNS name that resolves to a private IP address.

///

Default: The default behavior varies depending on whether DBSubnetGroupName is specified.

///

If DBSubnetGroupName isn't specified, and PubliclyAccessible isn't specified, the following applies:

@@ -3842,7 +3842,7 @@ impl CreateDbInstanceInputBuilder { self } ///

Specifies whether the DB instance is publicly accessible.

- ///

When the DB instance is publicly accessible, its Domain Name System (DNS) endpoint resolves to the private IP address from within the DB instance's virtual private cloud (VPC). It resolves to the public IP address from outside of the DB instance's VPC. Access to the DB instance is ultimately controlled by the security group it uses. That public access is not permitted if the security group assigned to the DB instance doesn't permit it.

+ ///

When the DB instance is publicly accessible and you connect from outside of the DB instance's virtual private cloud (VPC), its Domain Name System (DNS) endpoint resolves to the public IP address. When you connect from within the same VPC as the DB instance, the endpoint resolves to the private IP address. Access to the DB instance is ultimately controlled by the security group it uses. That public access is not permitted if the security group assigned to the DB instance doesn't permit it.

///

When the DB instance isn't publicly accessible, it is an internal DB instance with a DNS name that resolves to a private IP address.

///

Default: The default behavior varies depending on whether DBSubnetGroupName is specified.

///

If DBSubnetGroupName isn't specified, and PubliclyAccessible isn't specified, the following applies:

@@ -3864,7 +3864,7 @@ impl CreateDbInstanceInputBuilder { self } ///

Specifies whether the DB instance is publicly accessible.

- ///

When the DB instance is publicly accessible, its Domain Name System (DNS) endpoint resolves to the private IP address from within the DB instance's virtual private cloud (VPC). It resolves to the public IP address from outside of the DB instance's VPC. Access to the DB instance is ultimately controlled by the security group it uses. That public access is not permitted if the security group assigned to the DB instance doesn't permit it.

+ ///

When the DB instance is publicly accessible and you connect from outside of the DB instance's virtual private cloud (VPC), its Domain Name System (DNS) endpoint resolves to the public IP address. When you connect from within the same VPC as the DB instance, the endpoint resolves to the private IP address. Access to the DB instance is ultimately controlled by the security group it uses. That public access is not permitted if the security group assigned to the DB instance doesn't permit it.

///

When the DB instance isn't publicly accessible, it is an internal DB instance with a DNS name that resolves to a private IP address.

///

Default: The default behavior varies depending on whether DBSubnetGroupName is specified.

///

If DBSubnetGroupName isn't specified, and PubliclyAccessible isn't specified, the following applies:

diff --git a/sdk/rds/src/operation/create_db_instance/builders.rs b/sdk/rds/src/operation/create_db_instance/builders.rs index 58a38e0c2019..fe2ad60fb333 100644 --- a/sdk/rds/src/operation/create_db_instance/builders.rs +++ b/sdk/rds/src/operation/create_db_instance/builders.rs @@ -2033,7 +2033,7 @@ impl CreateDBInstanceFluentBuilder { self.inner.get_nchar_character_set_name() } ///

Specifies whether the DB instance is publicly accessible.

- ///

When the DB instance is publicly accessible, its Domain Name System (DNS) endpoint resolves to the private IP address from within the DB instance's virtual private cloud (VPC). It resolves to the public IP address from outside of the DB instance's VPC. Access to the DB instance is ultimately controlled by the security group it uses. That public access is not permitted if the security group assigned to the DB instance doesn't permit it.

+ ///

When the DB instance is publicly accessible and you connect from outside of the DB instance's virtual private cloud (VPC), its Domain Name System (DNS) endpoint resolves to the public IP address. When you connect from within the same VPC as the DB instance, the endpoint resolves to the private IP address. Access to the DB instance is ultimately controlled by the security group it uses. That public access is not permitted if the security group assigned to the DB instance doesn't permit it.

///

When the DB instance isn't publicly accessible, it is an internal DB instance with a DNS name that resolves to a private IP address.

///

Default: The default behavior varies depending on whether DBSubnetGroupName is specified.

///

If DBSubnetGroupName isn't specified, and PubliclyAccessible isn't specified, the following applies:

@@ -2055,7 +2055,7 @@ impl CreateDBInstanceFluentBuilder { self } ///

Specifies whether the DB instance is publicly accessible.

- ///

When the DB instance is publicly accessible, its Domain Name System (DNS) endpoint resolves to the private IP address from within the DB instance's virtual private cloud (VPC). It resolves to the public IP address from outside of the DB instance's VPC. Access to the DB instance is ultimately controlled by the security group it uses. That public access is not permitted if the security group assigned to the DB instance doesn't permit it.

+ ///

When the DB instance is publicly accessible and you connect from outside of the DB instance's virtual private cloud (VPC), its Domain Name System (DNS) endpoint resolves to the public IP address. When you connect from within the same VPC as the DB instance, the endpoint resolves to the private IP address. Access to the DB instance is ultimately controlled by the security group it uses. That public access is not permitted if the security group assigned to the DB instance doesn't permit it.

///

When the DB instance isn't publicly accessible, it is an internal DB instance with a DNS name that resolves to a private IP address.

///

Default: The default behavior varies depending on whether DBSubnetGroupName is specified.

///

If DBSubnetGroupName isn't specified, and PubliclyAccessible isn't specified, the following applies:

@@ -2077,7 +2077,7 @@ impl CreateDBInstanceFluentBuilder { self } ///

Specifies whether the DB instance is publicly accessible.

- ///

When the DB instance is publicly accessible, its Domain Name System (DNS) endpoint resolves to the private IP address from within the DB instance's virtual private cloud (VPC). It resolves to the public IP address from outside of the DB instance's VPC. Access to the DB instance is ultimately controlled by the security group it uses. That public access is not permitted if the security group assigned to the DB instance doesn't permit it.

+ ///

When the DB instance is publicly accessible and you connect from outside of the DB instance's virtual private cloud (VPC), its Domain Name System (DNS) endpoint resolves to the public IP address. When you connect from within the same VPC as the DB instance, the endpoint resolves to the private IP address. Access to the DB instance is ultimately controlled by the security group it uses. That public access is not permitted if the security group assigned to the DB instance doesn't permit it.

///

When the DB instance isn't publicly accessible, it is an internal DB instance with a DNS name that resolves to a private IP address.

///

Default: The default behavior varies depending on whether DBSubnetGroupName is specified.

///

If DBSubnetGroupName isn't specified, and PubliclyAccessible isn't specified, the following applies:

diff --git a/sdk/rds/src/operation/delete_db_cluster/_delete_db_cluster_input.rs b/sdk/rds/src/operation/delete_db_cluster/_delete_db_cluster_input.rs index 53a5df5ad165..b9a1fb175cf4 100644 --- a/sdk/rds/src/operation/delete_db_cluster/_delete_db_cluster_input.rs +++ b/sdk/rds/src/operation/delete_db_cluster/_delete_db_cluster_input.rs @@ -28,7 +28,9 @@ pub struct DeleteDbClusterInput { ///

Can't end with a hyphen or contain two consecutive hyphens

/// pub final_db_snapshot_identifier: ::std::option::Option<::std::string::String>, - ///

Specifies whether to remove automated backups immediately after the DB cluster is deleted. This parameter isn't case-sensitive. The default is to remove automated backups immediately after the DB cluster is deleted.

+ ///

Specifies whether to remove automated backups immediately after the DB cluster is deleted. This parameter isn't case-sensitive. The default is to remove automated backups immediately after the DB cluster is deleted.

+ ///

You must delete automated backups for Amazon RDS Multi-AZ DB clusters. For more information about managing automated backups for RDS Multi-AZ DB clusters, see Managing automated backups.

+ ///
pub delete_automated_backups: ::std::option::Option, } impl DeleteDbClusterInput { @@ -62,7 +64,9 @@ impl DeleteDbClusterInput { pub fn final_db_snapshot_identifier(&self) -> ::std::option::Option<&str> { self.final_db_snapshot_identifier.as_deref() } - ///

Specifies whether to remove automated backups immediately after the DB cluster is deleted. This parameter isn't case-sensitive. The default is to remove automated backups immediately after the DB cluster is deleted.

+ ///

Specifies whether to remove automated backups immediately after the DB cluster is deleted. This parameter isn't case-sensitive. The default is to remove automated backups immediately after the DB cluster is deleted.

+ ///

You must delete automated backups for Amazon RDS Multi-AZ DB clusters. For more information about managing automated backups for RDS Multi-AZ DB clusters, see Managing automated backups.

+ ///
pub fn delete_automated_backups(&self) -> ::std::option::Option { self.delete_automated_backups } @@ -181,17 +185,23 @@ impl DeleteDbClusterInputBuilder { pub fn get_final_db_snapshot_identifier(&self) -> &::std::option::Option<::std::string::String> { &self.final_db_snapshot_identifier } - ///

Specifies whether to remove automated backups immediately after the DB cluster is deleted. This parameter isn't case-sensitive. The default is to remove automated backups immediately after the DB cluster is deleted.

+ ///

Specifies whether to remove automated backups immediately after the DB cluster is deleted. This parameter isn't case-sensitive. The default is to remove automated backups immediately after the DB cluster is deleted.

+ ///

You must delete automated backups for Amazon RDS Multi-AZ DB clusters. For more information about managing automated backups for RDS Multi-AZ DB clusters, see Managing automated backups.

+ ///
pub fn delete_automated_backups(mut self, input: bool) -> Self { self.delete_automated_backups = ::std::option::Option::Some(input); self } - ///

Specifies whether to remove automated backups immediately after the DB cluster is deleted. This parameter isn't case-sensitive. The default is to remove automated backups immediately after the DB cluster is deleted.

+ ///

Specifies whether to remove automated backups immediately after the DB cluster is deleted. This parameter isn't case-sensitive. The default is to remove automated backups immediately after the DB cluster is deleted.

+ ///

You must delete automated backups for Amazon RDS Multi-AZ DB clusters. For more information about managing automated backups for RDS Multi-AZ DB clusters, see Managing automated backups.

+ ///
pub fn set_delete_automated_backups(mut self, input: ::std::option::Option) -> Self { self.delete_automated_backups = input; self } - ///

Specifies whether to remove automated backups immediately after the DB cluster is deleted. This parameter isn't case-sensitive. The default is to remove automated backups immediately after the DB cluster is deleted.

+ ///

Specifies whether to remove automated backups immediately after the DB cluster is deleted. This parameter isn't case-sensitive. The default is to remove automated backups immediately after the DB cluster is deleted.

+ ///

You must delete automated backups for Amazon RDS Multi-AZ DB clusters. For more information about managing automated backups for RDS Multi-AZ DB clusters, see Managing automated backups.

+ ///
pub fn get_delete_automated_backups(&self) -> &::std::option::Option { &self.delete_automated_backups } diff --git a/sdk/rds/src/operation/delete_db_cluster/builders.rs b/sdk/rds/src/operation/delete_db_cluster/builders.rs index e5d03b305d4e..022a6edfc3db 100644 --- a/sdk/rds/src/operation/delete_db_cluster/builders.rs +++ b/sdk/rds/src/operation/delete_db_cluster/builders.rs @@ -207,17 +207,23 @@ impl DeleteDBClusterFluentBuilder { pub fn get_final_db_snapshot_identifier(&self) -> &::std::option::Option<::std::string::String> { self.inner.get_final_db_snapshot_identifier() } - ///

Specifies whether to remove automated backups immediately after the DB cluster is deleted. This parameter isn't case-sensitive. The default is to remove automated backups immediately after the DB cluster is deleted.

+ ///

Specifies whether to remove automated backups immediately after the DB cluster is deleted. This parameter isn't case-sensitive. The default is to remove automated backups immediately after the DB cluster is deleted.

+ ///

You must delete automated backups for Amazon RDS Multi-AZ DB clusters. For more information about managing automated backups for RDS Multi-AZ DB clusters, see Managing automated backups.

+ ///
pub fn delete_automated_backups(mut self, input: bool) -> Self { self.inner = self.inner.delete_automated_backups(input); self } - ///

Specifies whether to remove automated backups immediately after the DB cluster is deleted. This parameter isn't case-sensitive. The default is to remove automated backups immediately after the DB cluster is deleted.

+ ///

Specifies whether to remove automated backups immediately after the DB cluster is deleted. This parameter isn't case-sensitive. The default is to remove automated backups immediately after the DB cluster is deleted.

+ ///

You must delete automated backups for Amazon RDS Multi-AZ DB clusters. For more information about managing automated backups for RDS Multi-AZ DB clusters, see Managing automated backups.

+ ///
pub fn set_delete_automated_backups(mut self, input: ::std::option::Option) -> Self { self.inner = self.inner.set_delete_automated_backups(input); self } - ///

Specifies whether to remove automated backups immediately after the DB cluster is deleted. This parameter isn't case-sensitive. The default is to remove automated backups immediately after the DB cluster is deleted.

+ ///

Specifies whether to remove automated backups immediately after the DB cluster is deleted. This parameter isn't case-sensitive. The default is to remove automated backups immediately after the DB cluster is deleted.

+ ///

You must delete automated backups for Amazon RDS Multi-AZ DB clusters. For more information about managing automated backups for RDS Multi-AZ DB clusters, see Managing automated backups.

+ ///
pub fn get_delete_automated_backups(&self) -> &::std::option::Option { self.inner.get_delete_automated_backups() } diff --git a/sdk/rds/src/operation/describe_db_cluster_parameters/_describe_db_cluster_parameters_input.rs b/sdk/rds/src/operation/describe_db_cluster_parameters/_describe_db_cluster_parameters_input.rs index 75f1181cd163..3fd576714873 100644 --- a/sdk/rds/src/operation/describe_db_cluster_parameters/_describe_db_cluster_parameters_input.rs +++ b/sdk/rds/src/operation/describe_db_cluster_parameters/_describe_db_cluster_parameters_input.rs @@ -15,7 +15,7 @@ pub struct DescribeDbClusterParametersInput { ///

Valid Values:

///
    ///
  • - ///

    customer

  • + ///

    user

    ///
  • ///

    engine

  • ///
  • @@ -45,7 +45,7 @@ impl DescribeDbClusterParametersInput { ///

    Valid Values:

    ///
      ///
    • - ///

      customer

    • + ///

      user

      ///
    • ///

      engine

    • ///
    • @@ -123,7 +123,7 @@ impl DescribeDbClusterParametersInputBuilder { ///

      Valid Values:

      ///
        ///
      • - ///

        customer

      • + ///

        user

        ///
      • ///

        engine

      • ///
      • @@ -137,7 +137,7 @@ impl DescribeDbClusterParametersInputBuilder { ///

        Valid Values:

        ///
          ///
        • - ///

          customer

        • + ///

          user

          ///
        • ///

          engine

        • ///
        • @@ -151,7 +151,7 @@ impl DescribeDbClusterParametersInputBuilder { ///

          Valid Values:

          ///
            ///
          • - ///

            customer

          • + ///

            user

            ///
          • ///

            engine

          • ///
          • diff --git a/sdk/rds/src/operation/describe_db_cluster_parameters/builders.rs b/sdk/rds/src/operation/describe_db_cluster_parameters/builders.rs index 7cacdefe4ba0..761025032135 100644 --- a/sdk/rds/src/operation/describe_db_cluster_parameters/builders.rs +++ b/sdk/rds/src/operation/describe_db_cluster_parameters/builders.rs @@ -149,7 +149,7 @@ impl DescribeDBClusterParametersFluentBuilder { ///

            Valid Values:

            ///
              ///
            • - ///

              customer

            • + ///

              user

              ///
            • ///

              engine

            • ///
            • @@ -163,7 +163,7 @@ impl DescribeDBClusterParametersFluentBuilder { ///

              Valid Values:

              ///
                ///
              • - ///

                customer

              • + ///

                user

                ///
              • ///

                engine

              • ///
              • @@ -177,7 +177,7 @@ impl DescribeDBClusterParametersFluentBuilder { ///

                Valid Values:

                ///
                  ///
                • - ///

                  customer

                • + ///

                  user

                  ///
                • ///

                  engine

                • ///
                • diff --git a/sdk/rds/src/operation/describe_pending_maintenance_actions/builders.rs b/sdk/rds/src/operation/describe_pending_maintenance_actions/builders.rs index 65ad876f7b69..fbf5435c31a8 100644 --- a/sdk/rds/src/operation/describe_pending_maintenance_actions/builders.rs +++ b/sdk/rds/src/operation/describe_pending_maintenance_actions/builders.rs @@ -23,6 +23,7 @@ impl crate::operation::describe_pending_maintenance_actions::builders::DescribeP /// Fluent builder constructing a request to `DescribePendingMaintenanceActions`. /// ///

                  Returns a list of resources (for example, DB instances) that have at least one pending maintenance action.

                  +///

                  This API follows an eventual consistency model. This means that the result of the DescribePendingMaintenanceActions command might not be immediately visible to all subsequent RDS commands. Keep this in mind when you use DescribePendingMaintenanceActions immediately after using a previous API command such as ApplyPendingMaintenanceActions.

                  #[derive(::std::clone::Clone, ::std::fmt::Debug)] pub struct DescribePendingMaintenanceActionsFluentBuilder { handle: ::std::sync::Arc, diff --git a/sdk/rds/src/operation/modify_db_instance/_modify_db_instance_input.rs b/sdk/rds/src/operation/modify_db_instance/_modify_db_instance_input.rs index de43ef5951c1..0e8fdbde4e56 100644 --- a/sdk/rds/src/operation/modify_db_instance/_modify_db_instance_input.rs +++ b/sdk/rds/src/operation/modify_db_instance/_modify_db_instance_input.rs @@ -326,7 +326,7 @@ pub struct ModifyDbInstanceInput { ///
                pub db_port_number: ::std::option::Option, ///

                Specifies whether the DB instance is publicly accessible.

                - ///

                When the DB cluster is publicly accessible, its Domain Name System (DNS) endpoint resolves to the private IP address from within the DB cluster's virtual private cloud (VPC). It resolves to the public IP address from outside of the DB cluster's VPC. Access to the DB cluster is ultimately controlled by the security group it uses. That public access isn't permitted if the security group assigned to the DB cluster doesn't permit it.

                + ///

                When the DB instance is publicly accessible and you connect from outside of the DB instance's virtual private cloud (VPC), its Domain Name System (DNS) endpoint resolves to the public IP address. When you connect from within the same VPC as the DB instance, the endpoint resolves to the private IP address. Access to the DB instance is ultimately controlled by the security group it uses. That public access isn't permitted if the security group assigned to the DB instance doesn't permit it.

                ///

                When the DB instance isn't publicly accessible, it is an internal DB instance with a DNS name that resolves to a private IP address.

                ///

                PubliclyAccessible only applies to DB instances in a VPC. The DB instance must be part of a public subnet and PubliclyAccessible must be enabled for it to be publicly accessible.

                ///

                Changes to the PubliclyAccessible parameter are applied immediately regardless of the value of the ApplyImmediately parameter.

                @@ -891,7 +891,7 @@ impl ModifyDbInstanceInput { self.db_port_number } ///

                Specifies whether the DB instance is publicly accessible.

                - ///

                When the DB cluster is publicly accessible, its Domain Name System (DNS) endpoint resolves to the private IP address from within the DB cluster's virtual private cloud (VPC). It resolves to the public IP address from outside of the DB cluster's VPC. Access to the DB cluster is ultimately controlled by the security group it uses. That public access isn't permitted if the security group assigned to the DB cluster doesn't permit it.

                + ///

                When the DB instance is publicly accessible and you connect from outside of the DB instance's virtual private cloud (VPC), its Domain Name System (DNS) endpoint resolves to the public IP address. When you connect from within the same VPC as the DB instance, the endpoint resolves to the private IP address. Access to the DB instance is ultimately controlled by the security group it uses. That public access isn't permitted if the security group assigned to the DB instance doesn't permit it.

                ///

                When the DB instance isn't publicly accessible, it is an internal DB instance with a DNS name that resolves to a private IP address.

                ///

                PubliclyAccessible only applies to DB instances in a VPC. The DB instance must be part of a public subnet and PubliclyAccessible must be enabled for it to be publicly accessible.

                ///

                Changes to the PubliclyAccessible parameter are applied immediately regardless of the value of the ApplyImmediately parameter.

                @@ -2433,7 +2433,7 @@ impl ModifyDbInstanceInputBuilder { &self.db_port_number } ///

                Specifies whether the DB instance is publicly accessible.

                - ///

                When the DB cluster is publicly accessible, its Domain Name System (DNS) endpoint resolves to the private IP address from within the DB cluster's virtual private cloud (VPC). It resolves to the public IP address from outside of the DB cluster's VPC. Access to the DB cluster is ultimately controlled by the security group it uses. That public access isn't permitted if the security group assigned to the DB cluster doesn't permit it.

                + ///

                When the DB instance is publicly accessible and you connect from outside of the DB instance's virtual private cloud (VPC), its Domain Name System (DNS) endpoint resolves to the public IP address. When you connect from within the same VPC as the DB instance, the endpoint resolves to the private IP address. Access to the DB instance is ultimately controlled by the security group it uses. That public access isn't permitted if the security group assigned to the DB instance doesn't permit it.

                ///

                When the DB instance isn't publicly accessible, it is an internal DB instance with a DNS name that resolves to a private IP address.

                ///

                PubliclyAccessible only applies to DB instances in a VPC. The DB instance must be part of a public subnet and PubliclyAccessible must be enabled for it to be publicly accessible.

                ///

                Changes to the PubliclyAccessible parameter are applied immediately regardless of the value of the ApplyImmediately parameter.

                @@ -2442,7 +2442,7 @@ impl ModifyDbInstanceInputBuilder { self } ///

                Specifies whether the DB instance is publicly accessible.

                - ///

                When the DB cluster is publicly accessible, its Domain Name System (DNS) endpoint resolves to the private IP address from within the DB cluster's virtual private cloud (VPC). It resolves to the public IP address from outside of the DB cluster's VPC. Access to the DB cluster is ultimately controlled by the security group it uses. That public access isn't permitted if the security group assigned to the DB cluster doesn't permit it.

                + ///

                When the DB instance is publicly accessible and you connect from outside of the DB instance's virtual private cloud (VPC), its Domain Name System (DNS) endpoint resolves to the public IP address. When you connect from within the same VPC as the DB instance, the endpoint resolves to the private IP address. Access to the DB instance is ultimately controlled by the security group it uses. That public access isn't permitted if the security group assigned to the DB instance doesn't permit it.

                ///

                When the DB instance isn't publicly accessible, it is an internal DB instance with a DNS name that resolves to a private IP address.

                ///

                PubliclyAccessible only applies to DB instances in a VPC. The DB instance must be part of a public subnet and PubliclyAccessible must be enabled for it to be publicly accessible.

                ///

                Changes to the PubliclyAccessible parameter are applied immediately regardless of the value of the ApplyImmediately parameter.

                @@ -2451,7 +2451,7 @@ impl ModifyDbInstanceInputBuilder { self } ///

                Specifies whether the DB instance is publicly accessible.

                - ///

                When the DB cluster is publicly accessible, its Domain Name System (DNS) endpoint resolves to the private IP address from within the DB cluster's virtual private cloud (VPC). It resolves to the public IP address from outside of the DB cluster's VPC. Access to the DB cluster is ultimately controlled by the security group it uses. That public access isn't permitted if the security group assigned to the DB cluster doesn't permit it.

                + ///

                When the DB instance is publicly accessible and you connect from outside of the DB instance's virtual private cloud (VPC), its Domain Name System (DNS) endpoint resolves to the public IP address. When you connect from within the same VPC as the DB instance, the endpoint resolves to the private IP address. Access to the DB instance is ultimately controlled by the security group it uses. That public access isn't permitted if the security group assigned to the DB instance doesn't permit it.

                ///

                When the DB instance isn't publicly accessible, it is an internal DB instance with a DNS name that resolves to a private IP address.

                ///

                PubliclyAccessible only applies to DB instances in a VPC. The DB instance must be part of a public subnet and PubliclyAccessible must be enabled for it to be publicly accessible.

                ///

                Changes to the PubliclyAccessible parameter are applied immediately regardless of the value of the ApplyImmediately parameter.

                diff --git a/sdk/rds/src/operation/modify_db_instance/builders.rs b/sdk/rds/src/operation/modify_db_instance/builders.rs index 4920f35889c4..0343cfd6d8bc 100644 --- a/sdk/rds/src/operation/modify_db_instance/builders.rs +++ b/sdk/rds/src/operation/modify_db_instance/builders.rs @@ -1343,7 +1343,7 @@ impl ModifyDBInstanceFluentBuilder { self.inner.get_db_port_number() } ///

                Specifies whether the DB instance is publicly accessible.

                - ///

                When the DB cluster is publicly accessible, its Domain Name System (DNS) endpoint resolves to the private IP address from within the DB cluster's virtual private cloud (VPC). It resolves to the public IP address from outside of the DB cluster's VPC. Access to the DB cluster is ultimately controlled by the security group it uses. That public access isn't permitted if the security group assigned to the DB cluster doesn't permit it.

                + ///

                When the DB instance is publicly accessible and you connect from outside of the DB instance's virtual private cloud (VPC), its Domain Name System (DNS) endpoint resolves to the public IP address. When you connect from within the same VPC as the DB instance, the endpoint resolves to the private IP address. Access to the DB instance is ultimately controlled by the security group it uses. That public access isn't permitted if the security group assigned to the DB instance doesn't permit it.

                ///

                When the DB instance isn't publicly accessible, it is an internal DB instance with a DNS name that resolves to a private IP address.

                ///

                PubliclyAccessible only applies to DB instances in a VPC. The DB instance must be part of a public subnet and PubliclyAccessible must be enabled for it to be publicly accessible.

                ///

                Changes to the PubliclyAccessible parameter are applied immediately regardless of the value of the ApplyImmediately parameter.

                @@ -1352,7 +1352,7 @@ impl ModifyDBInstanceFluentBuilder { self } ///

                Specifies whether the DB instance is publicly accessible.

                - ///

                When the DB cluster is publicly accessible, its Domain Name System (DNS) endpoint resolves to the private IP address from within the DB cluster's virtual private cloud (VPC). It resolves to the public IP address from outside of the DB cluster's VPC. Access to the DB cluster is ultimately controlled by the security group it uses. That public access isn't permitted if the security group assigned to the DB cluster doesn't permit it.

                + ///

                When the DB instance is publicly accessible and you connect from outside of the DB instance's virtual private cloud (VPC), its Domain Name System (DNS) endpoint resolves to the public IP address. When you connect from within the same VPC as the DB instance, the endpoint resolves to the private IP address. Access to the DB instance is ultimately controlled by the security group it uses. That public access isn't permitted if the security group assigned to the DB instance doesn't permit it.

                ///

                When the DB instance isn't publicly accessible, it is an internal DB instance with a DNS name that resolves to a private IP address.

                ///

                PubliclyAccessible only applies to DB instances in a VPC. The DB instance must be part of a public subnet and PubliclyAccessible must be enabled for it to be publicly accessible.

                ///

                Changes to the PubliclyAccessible parameter are applied immediately regardless of the value of the ApplyImmediately parameter.

                @@ -1361,7 +1361,7 @@ impl ModifyDBInstanceFluentBuilder { self } ///

                Specifies whether the DB instance is publicly accessible.

                - ///

                When the DB cluster is publicly accessible, its Domain Name System (DNS) endpoint resolves to the private IP address from within the DB cluster's virtual private cloud (VPC). It resolves to the public IP address from outside of the DB cluster's VPC. Access to the DB cluster is ultimately controlled by the security group it uses. That public access isn't permitted if the security group assigned to the DB cluster doesn't permit it.

                + ///

                When the DB instance is publicly accessible and you connect from outside of the DB instance's virtual private cloud (VPC), its Domain Name System (DNS) endpoint resolves to the public IP address. When you connect from within the same VPC as the DB instance, the endpoint resolves to the private IP address. Access to the DB instance is ultimately controlled by the security group it uses. That public access isn't permitted if the security group assigned to the DB instance doesn't permit it.

                ///

                When the DB instance isn't publicly accessible, it is an internal DB instance with a DNS name that resolves to a private IP address.

                ///

                PubliclyAccessible only applies to DB instances in a VPC. The DB instance must be part of a public subnet and PubliclyAccessible must be enabled for it to be publicly accessible.

                ///

                Changes to the PubliclyAccessible parameter are applied immediately regardless of the value of the ApplyImmediately parameter.

                diff --git a/sdk/rds/src/types/_db_cluster.rs b/sdk/rds/src/types/_db_cluster.rs index e4a3cffc50e1..486546c93263 100644 --- a/sdk/rds/src/types/_db_cluster.rs +++ b/sdk/rds/src/types/_db_cluster.rs @@ -144,7 +144,7 @@ pub struct DbCluster { ///

                This setting is only for non-Aurora Multi-AZ DB clusters.

                pub iops: ::std::option::Option, ///

                Indicates whether the DB cluster is publicly accessible.

                - ///

                When the DB cluster is publicly accessible, its Domain Name System (DNS) endpoint resolves to the private IP address from within the DB cluster's virtual private cloud (VPC). It resolves to the public IP address from outside of the DB cluster's VPC. Access to the DB cluster is ultimately controlled by the security group it uses. That public access isn't permitted if the security group assigned to the DB cluster doesn't permit it.

                + ///

                When the DB cluster is publicly accessible and you connect from outside of the DB cluster's virtual private cloud (VPC), its Domain Name System (DNS) endpoint resolves to the public IP address. When you connect from within the same VPC as the DB cluster, the endpoint resolves to the private IP address. Access to the DB cluster is ultimately controlled by the security group it uses. That public access isn't permitted if the security group assigned to the DB cluster doesn't permit it.

                ///

                When the DB cluster isn't publicly accessible, it is an internal DB cluster with a DNS name that resolves to a private IP address.

                ///

                For more information, see CreateDBCluster.

                ///

                This setting is only for non-Aurora Multi-AZ DB clusters.

                @@ -494,7 +494,7 @@ impl DbCluster { self.iops } ///

                Indicates whether the DB cluster is publicly accessible.

                - ///

                When the DB cluster is publicly accessible, its Domain Name System (DNS) endpoint resolves to the private IP address from within the DB cluster's virtual private cloud (VPC). It resolves to the public IP address from outside of the DB cluster's VPC. Access to the DB cluster is ultimately controlled by the security group it uses. That public access isn't permitted if the security group assigned to the DB cluster doesn't permit it.

                + ///

                When the DB cluster is publicly accessible and you connect from outside of the DB cluster's virtual private cloud (VPC), its Domain Name System (DNS) endpoint resolves to the public IP address. When you connect from within the same VPC as the DB cluster, the endpoint resolves to the private IP address. Access to the DB cluster is ultimately controlled by the security group it uses. That public access isn't permitted if the security group assigned to the DB cluster doesn't permit it.

                ///

                When the DB cluster isn't publicly accessible, it is an internal DB cluster with a DNS name that resolves to a private IP address.

                ///

                For more information, see CreateDBCluster.

                ///

                This setting is only for non-Aurora Multi-AZ DB clusters.

                @@ -1661,7 +1661,7 @@ impl DbClusterBuilder { &self.iops } ///

                Indicates whether the DB cluster is publicly accessible.

                - ///

                When the DB cluster is publicly accessible, its Domain Name System (DNS) endpoint resolves to the private IP address from within the DB cluster's virtual private cloud (VPC). It resolves to the public IP address from outside of the DB cluster's VPC. Access to the DB cluster is ultimately controlled by the security group it uses. That public access isn't permitted if the security group assigned to the DB cluster doesn't permit it.

                + ///

                When the DB cluster is publicly accessible and you connect from outside of the DB cluster's virtual private cloud (VPC), its Domain Name System (DNS) endpoint resolves to the public IP address. When you connect from within the same VPC as the DB cluster, the endpoint resolves to the private IP address. Access to the DB cluster is ultimately controlled by the security group it uses. That public access isn't permitted if the security group assigned to the DB cluster doesn't permit it.

                ///

                When the DB cluster isn't publicly accessible, it is an internal DB cluster with a DNS name that resolves to a private IP address.

                ///

                For more information, see CreateDBCluster.

                ///

                This setting is only for non-Aurora Multi-AZ DB clusters.

                @@ -1670,7 +1670,7 @@ impl DbClusterBuilder { self } ///

                Indicates whether the DB cluster is publicly accessible.

                - ///

                When the DB cluster is publicly accessible, its Domain Name System (DNS) endpoint resolves to the private IP address from within the DB cluster's virtual private cloud (VPC). It resolves to the public IP address from outside of the DB cluster's VPC. Access to the DB cluster is ultimately controlled by the security group it uses. That public access isn't permitted if the security group assigned to the DB cluster doesn't permit it.

                + ///

                When the DB cluster is publicly accessible and you connect from outside of the DB cluster's virtual private cloud (VPC), its Domain Name System (DNS) endpoint resolves to the public IP address. When you connect from within the same VPC as the DB cluster, the endpoint resolves to the private IP address. Access to the DB cluster is ultimately controlled by the security group it uses. That public access isn't permitted if the security group assigned to the DB cluster doesn't permit it.

                ///

                When the DB cluster isn't publicly accessible, it is an internal DB cluster with a DNS name that resolves to a private IP address.

                ///

                For more information, see CreateDBCluster.

                ///

                This setting is only for non-Aurora Multi-AZ DB clusters.

                @@ -1679,7 +1679,7 @@ impl DbClusterBuilder { self } ///

                Indicates whether the DB cluster is publicly accessible.

                - ///

                When the DB cluster is publicly accessible, its Domain Name System (DNS) endpoint resolves to the private IP address from within the DB cluster's virtual private cloud (VPC). It resolves to the public IP address from outside of the DB cluster's VPC. Access to the DB cluster is ultimately controlled by the security group it uses. That public access isn't permitted if the security group assigned to the DB cluster doesn't permit it.

                + ///

                When the DB cluster is publicly accessible and you connect from outside of the DB cluster's virtual private cloud (VPC), its Domain Name System (DNS) endpoint resolves to the public IP address. When you connect from within the same VPC as the DB cluster, the endpoint resolves to the private IP address. Access to the DB cluster is ultimately controlled by the security group it uses. That public access isn't permitted if the security group assigned to the DB cluster doesn't permit it.

                ///

                When the DB cluster isn't publicly accessible, it is an internal DB cluster with a DNS name that resolves to a private IP address.

                ///

                For more information, see CreateDBCluster.

                ///

                This setting is only for non-Aurora Multi-AZ DB clusters.

                diff --git a/sdk/rds/src/types/_db_instance.rs b/sdk/rds/src/types/_db_instance.rs index 17405aaf4919..b5383b4c1766 100644 --- a/sdk/rds/src/types/_db_instance.rs +++ b/sdk/rds/src/types/_db_instance.rs @@ -79,7 +79,7 @@ pub struct DbInstance { ///

                If present, specifies the name of the secondary Availability Zone for a DB instance with multi-AZ support.

                pub secondary_availability_zone: ::std::option::Option<::std::string::String>, ///

                Indicates whether the DB instance is publicly accessible.

                - ///

                When the DB cluster is publicly accessible, its Domain Name System (DNS) endpoint resolves to the private IP address from within the DB cluster's virtual private cloud (VPC). It resolves to the public IP address from outside of the DB cluster's VPC. Access to the DB cluster is ultimately controlled by the security group it uses. That public access isn't permitted if the security group assigned to the DB cluster doesn't permit it.

                + ///

                When the DB instance is publicly accessible and you connect from outside of the DB instance's virtual private cloud (VPC), its Domain Name System (DNS) endpoint resolves to the public IP address. When you connect from within the same VPC as the DB instance, the endpoint resolves to the private IP address. Access to the DB cluster is ultimately controlled by the security group it uses. That public access isn't permitted if the security group assigned to the DB cluster doesn't permit it.

                ///

                When the DB instance isn't publicly accessible, it is an internal DB instance with a DNS name that resolves to a private IP address.

                ///

                For more information, see CreateDBInstance.

                pub publicly_accessible: ::std::option::Option, @@ -375,7 +375,7 @@ impl DbInstance { self.secondary_availability_zone.as_deref() } ///

                Indicates whether the DB instance is publicly accessible.

                - ///

                When the DB cluster is publicly accessible, its Domain Name System (DNS) endpoint resolves to the private IP address from within the DB cluster's virtual private cloud (VPC). It resolves to the public IP address from outside of the DB cluster's VPC. Access to the DB cluster is ultimately controlled by the security group it uses. That public access isn't permitted if the security group assigned to the DB cluster doesn't permit it.

                + ///

                When the DB instance is publicly accessible and you connect from outside of the DB instance's virtual private cloud (VPC), its Domain Name System (DNS) endpoint resolves to the public IP address. When you connect from within the same VPC as the DB instance, the endpoint resolves to the private IP address. Access to the DB cluster is ultimately controlled by the security group it uses. That public access isn't permitted if the security group assigned to the DB cluster doesn't permit it.

                ///

                When the DB instance isn't publicly accessible, it is an internal DB instance with a DNS name that resolves to a private IP address.

                ///

                For more information, see CreateDBInstance.

                pub fn publicly_accessible(&self) -> ::std::option::Option { @@ -1258,7 +1258,7 @@ impl DbInstanceBuilder { &self.secondary_availability_zone } ///

                Indicates whether the DB instance is publicly accessible.

                - ///

                When the DB cluster is publicly accessible, its Domain Name System (DNS) endpoint resolves to the private IP address from within the DB cluster's virtual private cloud (VPC). It resolves to the public IP address from outside of the DB cluster's VPC. Access to the DB cluster is ultimately controlled by the security group it uses. That public access isn't permitted if the security group assigned to the DB cluster doesn't permit it.

                + ///

                When the DB instance is publicly accessible and you connect from outside of the DB instance's virtual private cloud (VPC), its Domain Name System (DNS) endpoint resolves to the public IP address. When you connect from within the same VPC as the DB instance, the endpoint resolves to the private IP address. Access to the DB cluster is ultimately controlled by the security group it uses. That public access isn't permitted if the security group assigned to the DB cluster doesn't permit it.

                ///

                When the DB instance isn't publicly accessible, it is an internal DB instance with a DNS name that resolves to a private IP address.

                ///

                For more information, see CreateDBInstance.

                pub fn publicly_accessible(mut self, input: bool) -> Self { @@ -1266,7 +1266,7 @@ impl DbInstanceBuilder { self } ///

                Indicates whether the DB instance is publicly accessible.

                - ///

                When the DB cluster is publicly accessible, its Domain Name System (DNS) endpoint resolves to the private IP address from within the DB cluster's virtual private cloud (VPC). It resolves to the public IP address from outside of the DB cluster's VPC. Access to the DB cluster is ultimately controlled by the security group it uses. That public access isn't permitted if the security group assigned to the DB cluster doesn't permit it.

                + ///

                When the DB instance is publicly accessible and you connect from outside of the DB instance's virtual private cloud (VPC), its Domain Name System (DNS) endpoint resolves to the public IP address. When you connect from within the same VPC as the DB instance, the endpoint resolves to the private IP address. Access to the DB cluster is ultimately controlled by the security group it uses. That public access isn't permitted if the security group assigned to the DB cluster doesn't permit it.

                ///

                When the DB instance isn't publicly accessible, it is an internal DB instance with a DNS name that resolves to a private IP address.

                ///

                For more information, see CreateDBInstance.

                pub fn set_publicly_accessible(mut self, input: ::std::option::Option) -> Self { @@ -1274,7 +1274,7 @@ impl DbInstanceBuilder { self } ///

                Indicates whether the DB instance is publicly accessible.

                - ///

                When the DB cluster is publicly accessible, its Domain Name System (DNS) endpoint resolves to the private IP address from within the DB cluster's virtual private cloud (VPC). It resolves to the public IP address from outside of the DB cluster's VPC. Access to the DB cluster is ultimately controlled by the security group it uses. That public access isn't permitted if the security group assigned to the DB cluster doesn't permit it.

                + ///

                When the DB instance is publicly accessible and you connect from outside of the DB instance's virtual private cloud (VPC), its Domain Name System (DNS) endpoint resolves to the public IP address. When you connect from within the same VPC as the DB instance, the endpoint resolves to the private IP address. Access to the DB cluster is ultimately controlled by the security group it uses. That public access isn't permitted if the security group assigned to the DB cluster doesn't permit it.

                ///

                When the DB instance isn't publicly accessible, it is an internal DB instance with a DNS name that resolves to a private IP address.

                ///

                For more information, see CreateDBInstance.

                pub fn get_publicly_accessible(&self) -> &::std::option::Option { diff --git a/sdk/sagemaker/Cargo.toml b/sdk/sagemaker/Cargo.toml index 29877f6c7db7..84e492b95063 100644 --- a/sdk/sagemaker/Cargo.toml +++ b/sdk/sagemaker/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-sagemaker" -version = "1.59.0" +version = "1.60.0" authors = ["AWS Rust SDK Team ", "Russell Cohen "] description = "AWS SDK for Amazon SageMaker Service" edition = "2021" diff --git a/sdk/sagemaker/README.md b/sdk/sagemaker/README.md index e384df454cd8..adc597a4547e 100644 --- a/sdk/sagemaker/README.md +++ b/sdk/sagemaker/README.md @@ -18,7 +18,7 @@ your project, add the following to your **Cargo.toml** file: ```toml [dependencies] aws-config = { version = "1.1.7", features = ["behavior-version-latest"] } -aws-sdk-sagemaker = "1.59.0" +aws-sdk-sagemaker = "1.60.0" tokio = { version = "1", features = ["full"] } ``` diff --git a/sdk/sagemaker/src/lib.rs b/sdk/sagemaker/src/lib.rs index 56396a829948..08d1d25cc6a3 100644 --- a/sdk/sagemaker/src/lib.rs +++ b/sdk/sagemaker/src/lib.rs @@ -35,7 +35,7 @@ //! ```toml //! [dependencies] //! aws-config = { version = "1.1.7", features = ["behavior-version-latest"] } -//! aws-sdk-sagemaker = "1.59.0" +//! aws-sdk-sagemaker = "1.60.0" //! tokio = { version = "1", features = ["full"] } //! ``` //! diff --git a/sdk/sagemaker/src/types/_processing_instance_type.rs b/sdk/sagemaker/src/types/_processing_instance_type.rs index 1656cb8adcd2..19810711a505 100644 --- a/sdk/sagemaker/src/types/_processing_instance_type.rs +++ b/sdk/sagemaker/src/types/_processing_instance_type.rs @@ -27,6 +27,14 @@ /// ProcessingInstanceType::MlG4Dn4Xlarge => { /* ... */ }, /// ProcessingInstanceType::MlG4Dn8Xlarge => { /* ... */ }, /// ProcessingInstanceType::MlG4DnXlarge => { /* ... */ }, +/// ProcessingInstanceType::MlG512Xlarge => { /* ... */ }, +/// ProcessingInstanceType::MlG516Xlarge => { /* ... */ }, +/// ProcessingInstanceType::MlG524Xlarge => { /* ... */ }, +/// ProcessingInstanceType::MlG52Xlarge => { /* ... */ }, +/// ProcessingInstanceType::MlG548Xlarge => { /* ... */ }, +/// ProcessingInstanceType::MlG54Xlarge => { /* ... */ }, +/// ProcessingInstanceType::MlG58Xlarge => { /* ... */ }, +/// ProcessingInstanceType::MlG5Xlarge => { /* ... */ }, /// ProcessingInstanceType::MlM410Xlarge => { /* ... */ }, /// ProcessingInstanceType::MlM416Xlarge => { /* ... */ }, /// ProcessingInstanceType::MlM42Xlarge => { /* ... */ }, @@ -52,6 +60,14 @@ /// ProcessingInstanceType::MlR58Xlarge => { /* ... */ }, /// ProcessingInstanceType::MlR5Large => { /* ... */ }, /// ProcessingInstanceType::MlR5Xlarge => { /* ... */ }, +/// ProcessingInstanceType::MlR5D12Xlarge => { /* ... */ }, +/// ProcessingInstanceType::MlR5D16Xlarge => { /* ... */ }, +/// ProcessingInstanceType::MlR5D24Xlarge => { /* ... */ }, +/// ProcessingInstanceType::MlR5D2Xlarge => { /* ... */ }, +/// ProcessingInstanceType::MlR5D4Xlarge => { /* ... */ }, +/// ProcessingInstanceType::MlR5D8Xlarge => { /* ... */ }, +/// ProcessingInstanceType::MlR5DLarge => { /* ... */ }, +/// ProcessingInstanceType::MlR5DXlarge => { /* ... */ }, /// ProcessingInstanceType::MlT32Xlarge => { /* ... */ }, /// ProcessingInstanceType::MlT3Large => { /* ... */ }, /// ProcessingInstanceType::MlT3Medium => { /* ... */ }, @@ -114,6 +130,22 @@ pub enum ProcessingInstanceType { #[allow(missing_docs)] // documentation missing in model MlG4DnXlarge, #[allow(missing_docs)] // documentation missing in model + MlG512Xlarge, + #[allow(missing_docs)] // documentation missing in model + MlG516Xlarge, + #[allow(missing_docs)] // documentation missing in model + MlG524Xlarge, + #[allow(missing_docs)] // documentation missing in model + MlG52Xlarge, + #[allow(missing_docs)] // documentation missing in model + MlG548Xlarge, + #[allow(missing_docs)] // documentation missing in model + MlG54Xlarge, + #[allow(missing_docs)] // documentation missing in model + MlG58Xlarge, + #[allow(missing_docs)] // documentation missing in model + MlG5Xlarge, + #[allow(missing_docs)] // documentation missing in model MlM410Xlarge, #[allow(missing_docs)] // documentation missing in model MlM416Xlarge, @@ -164,6 +196,22 @@ pub enum ProcessingInstanceType { #[allow(missing_docs)] // documentation missing in model MlR5Xlarge, #[allow(missing_docs)] // documentation missing in model + MlR5D12Xlarge, + #[allow(missing_docs)] // documentation missing in model + MlR5D16Xlarge, + #[allow(missing_docs)] // documentation missing in model + MlR5D24Xlarge, + #[allow(missing_docs)] // documentation missing in model + MlR5D2Xlarge, + #[allow(missing_docs)] // documentation missing in model + MlR5D4Xlarge, + #[allow(missing_docs)] // documentation missing in model + MlR5D8Xlarge, + #[allow(missing_docs)] // documentation missing in model + MlR5DLarge, + #[allow(missing_docs)] // documentation missing in model + MlR5DXlarge, + #[allow(missing_docs)] // documentation missing in model MlT32Xlarge, #[allow(missing_docs)] // documentation missing in model MlT3Large, @@ -193,6 +241,14 @@ impl ::std::convert::From<&str> for ProcessingInstanceType { "ml.g4dn.4xlarge" => ProcessingInstanceType::MlG4Dn4Xlarge, "ml.g4dn.8xlarge" => ProcessingInstanceType::MlG4Dn8Xlarge, "ml.g4dn.xlarge" => ProcessingInstanceType::MlG4DnXlarge, + "ml.g5.12xlarge" => ProcessingInstanceType::MlG512Xlarge, + "ml.g5.16xlarge" => ProcessingInstanceType::MlG516Xlarge, + "ml.g5.24xlarge" => ProcessingInstanceType::MlG524Xlarge, + "ml.g5.2xlarge" => ProcessingInstanceType::MlG52Xlarge, + "ml.g5.48xlarge" => ProcessingInstanceType::MlG548Xlarge, + "ml.g5.4xlarge" => ProcessingInstanceType::MlG54Xlarge, + "ml.g5.8xlarge" => ProcessingInstanceType::MlG58Xlarge, + "ml.g5.xlarge" => ProcessingInstanceType::MlG5Xlarge, "ml.m4.10xlarge" => ProcessingInstanceType::MlM410Xlarge, "ml.m4.16xlarge" => ProcessingInstanceType::MlM416Xlarge, "ml.m4.2xlarge" => ProcessingInstanceType::MlM42Xlarge, @@ -218,6 +274,14 @@ impl ::std::convert::From<&str> for ProcessingInstanceType { "ml.r5.8xlarge" => ProcessingInstanceType::MlR58Xlarge, "ml.r5.large" => ProcessingInstanceType::MlR5Large, "ml.r5.xlarge" => ProcessingInstanceType::MlR5Xlarge, + "ml.r5d.12xlarge" => ProcessingInstanceType::MlR5D12Xlarge, + "ml.r5d.16xlarge" => ProcessingInstanceType::MlR5D16Xlarge, + "ml.r5d.24xlarge" => ProcessingInstanceType::MlR5D24Xlarge, + "ml.r5d.2xlarge" => ProcessingInstanceType::MlR5D2Xlarge, + "ml.r5d.4xlarge" => ProcessingInstanceType::MlR5D4Xlarge, + "ml.r5d.8xlarge" => ProcessingInstanceType::MlR5D8Xlarge, + "ml.r5d.large" => ProcessingInstanceType::MlR5DLarge, + "ml.r5d.xlarge" => ProcessingInstanceType::MlR5DXlarge, "ml.t3.2xlarge" => ProcessingInstanceType::MlT32Xlarge, "ml.t3.large" => ProcessingInstanceType::MlT3Large, "ml.t3.medium" => ProcessingInstanceType::MlT3Medium, @@ -252,6 +316,14 @@ impl ProcessingInstanceType { ProcessingInstanceType::MlG4Dn4Xlarge => "ml.g4dn.4xlarge", ProcessingInstanceType::MlG4Dn8Xlarge => "ml.g4dn.8xlarge", ProcessingInstanceType::MlG4DnXlarge => "ml.g4dn.xlarge", + ProcessingInstanceType::MlG512Xlarge => "ml.g5.12xlarge", + ProcessingInstanceType::MlG516Xlarge => "ml.g5.16xlarge", + ProcessingInstanceType::MlG524Xlarge => "ml.g5.24xlarge", + ProcessingInstanceType::MlG52Xlarge => "ml.g5.2xlarge", + ProcessingInstanceType::MlG548Xlarge => "ml.g5.48xlarge", + ProcessingInstanceType::MlG54Xlarge => "ml.g5.4xlarge", + ProcessingInstanceType::MlG58Xlarge => "ml.g5.8xlarge", + ProcessingInstanceType::MlG5Xlarge => "ml.g5.xlarge", ProcessingInstanceType::MlM410Xlarge => "ml.m4.10xlarge", ProcessingInstanceType::MlM416Xlarge => "ml.m4.16xlarge", ProcessingInstanceType::MlM42Xlarge => "ml.m4.2xlarge", @@ -277,6 +349,14 @@ impl ProcessingInstanceType { ProcessingInstanceType::MlR58Xlarge => "ml.r5.8xlarge", ProcessingInstanceType::MlR5Large => "ml.r5.large", ProcessingInstanceType::MlR5Xlarge => "ml.r5.xlarge", + ProcessingInstanceType::MlR5D12Xlarge => "ml.r5d.12xlarge", + ProcessingInstanceType::MlR5D16Xlarge => "ml.r5d.16xlarge", + ProcessingInstanceType::MlR5D24Xlarge => "ml.r5d.24xlarge", + ProcessingInstanceType::MlR5D2Xlarge => "ml.r5d.2xlarge", + ProcessingInstanceType::MlR5D4Xlarge => "ml.r5d.4xlarge", + ProcessingInstanceType::MlR5D8Xlarge => "ml.r5d.8xlarge", + ProcessingInstanceType::MlR5DLarge => "ml.r5d.large", + ProcessingInstanceType::MlR5DXlarge => "ml.r5d.xlarge", ProcessingInstanceType::MlT32Xlarge => "ml.t3.2xlarge", ProcessingInstanceType::MlT3Large => "ml.t3.large", ProcessingInstanceType::MlT3Medium => "ml.t3.medium", @@ -302,6 +382,14 @@ impl ProcessingInstanceType { "ml.g4dn.4xlarge", "ml.g4dn.8xlarge", "ml.g4dn.xlarge", + "ml.g5.12xlarge", + "ml.g5.16xlarge", + "ml.g5.24xlarge", + "ml.g5.2xlarge", + "ml.g5.48xlarge", + "ml.g5.4xlarge", + "ml.g5.8xlarge", + "ml.g5.xlarge", "ml.m4.10xlarge", "ml.m4.16xlarge", "ml.m4.2xlarge", @@ -327,6 +415,14 @@ impl ProcessingInstanceType { "ml.r5.8xlarge", "ml.r5.large", "ml.r5.xlarge", + "ml.r5d.12xlarge", + "ml.r5d.16xlarge", + "ml.r5d.24xlarge", + "ml.r5d.2xlarge", + "ml.r5d.4xlarge", + "ml.r5d.8xlarge", + "ml.r5d.large", + "ml.r5d.xlarge", "ml.t3.2xlarge", "ml.t3.large", "ml.t3.medium", @@ -369,6 +465,14 @@ impl ::std::fmt::Display for ProcessingInstanceType { ProcessingInstanceType::MlG4Dn4Xlarge => write!(f, "ml.g4dn.4xlarge"), ProcessingInstanceType::MlG4Dn8Xlarge => write!(f, "ml.g4dn.8xlarge"), ProcessingInstanceType::MlG4DnXlarge => write!(f, "ml.g4dn.xlarge"), + ProcessingInstanceType::MlG512Xlarge => write!(f, "ml.g5.12xlarge"), + ProcessingInstanceType::MlG516Xlarge => write!(f, "ml.g5.16xlarge"), + ProcessingInstanceType::MlG524Xlarge => write!(f, "ml.g5.24xlarge"), + ProcessingInstanceType::MlG52Xlarge => write!(f, "ml.g5.2xlarge"), + ProcessingInstanceType::MlG548Xlarge => write!(f, "ml.g5.48xlarge"), + ProcessingInstanceType::MlG54Xlarge => write!(f, "ml.g5.4xlarge"), + ProcessingInstanceType::MlG58Xlarge => write!(f, "ml.g5.8xlarge"), + ProcessingInstanceType::MlG5Xlarge => write!(f, "ml.g5.xlarge"), ProcessingInstanceType::MlM410Xlarge => write!(f, "ml.m4.10xlarge"), ProcessingInstanceType::MlM416Xlarge => write!(f, "ml.m4.16xlarge"), ProcessingInstanceType::MlM42Xlarge => write!(f, "ml.m4.2xlarge"), @@ -394,6 +498,14 @@ impl ::std::fmt::Display for ProcessingInstanceType { ProcessingInstanceType::MlR58Xlarge => write!(f, "ml.r5.8xlarge"), ProcessingInstanceType::MlR5Large => write!(f, "ml.r5.large"), ProcessingInstanceType::MlR5Xlarge => write!(f, "ml.r5.xlarge"), + ProcessingInstanceType::MlR5D12Xlarge => write!(f, "ml.r5d.12xlarge"), + ProcessingInstanceType::MlR5D16Xlarge => write!(f, "ml.r5d.16xlarge"), + ProcessingInstanceType::MlR5D24Xlarge => write!(f, "ml.r5d.24xlarge"), + ProcessingInstanceType::MlR5D2Xlarge => write!(f, "ml.r5d.2xlarge"), + ProcessingInstanceType::MlR5D4Xlarge => write!(f, "ml.r5d.4xlarge"), + ProcessingInstanceType::MlR5D8Xlarge => write!(f, "ml.r5d.8xlarge"), + ProcessingInstanceType::MlR5DLarge => write!(f, "ml.r5d.large"), + ProcessingInstanceType::MlR5DXlarge => write!(f, "ml.r5d.xlarge"), ProcessingInstanceType::MlT32Xlarge => write!(f, "ml.t3.2xlarge"), ProcessingInstanceType::MlT3Large => write!(f, "ml.t3.large"), ProcessingInstanceType::MlT3Medium => write!(f, "ml.t3.medium"), diff --git a/sdk/sagemaker/src/types/_training_instance_type.rs b/sdk/sagemaker/src/types/_training_instance_type.rs index 66bd92aeb832..77e01315bbeb 100644 --- a/sdk/sagemaker/src/types/_training_instance_type.rs +++ b/sdk/sagemaker/src/types/_training_instance_type.rs @@ -78,6 +78,26 @@ /// TrainingInstanceType::MlP4D24Xlarge => { /* ... */ }, /// TrainingInstanceType::MlP4De24Xlarge => { /* ... */ }, /// TrainingInstanceType::MlP548Xlarge => { /* ... */ }, +/// TrainingInstanceType::MlR512Xlarge => { /* ... */ }, +/// TrainingInstanceType::MlR516Xlarge => { /* ... */ }, +/// TrainingInstanceType::MlR524Xlarge => { /* ... */ }, +/// TrainingInstanceType::MlR52Xlarge => { /* ... */ }, +/// TrainingInstanceType::MlR54Xlarge => { /* ... */ }, +/// TrainingInstanceType::MlR58Xlarge => { /* ... */ }, +/// TrainingInstanceType::MlR5Large => { /* ... */ }, +/// TrainingInstanceType::MlR5Xlarge => { /* ... */ }, +/// TrainingInstanceType::MlR5D12Xlarge => { /* ... */ }, +/// TrainingInstanceType::MlR5D16Xlarge => { /* ... */ }, +/// TrainingInstanceType::MlR5D24Xlarge => { /* ... */ }, +/// TrainingInstanceType::MlR5D2Xlarge => { /* ... */ }, +/// TrainingInstanceType::MlR5D4Xlarge => { /* ... */ }, +/// TrainingInstanceType::MlR5D8Xlarge => { /* ... */ }, +/// TrainingInstanceType::MlR5DLarge => { /* ... */ }, +/// TrainingInstanceType::MlR5DXlarge => { /* ... */ }, +/// TrainingInstanceType::MlT32Xlarge => { /* ... */ }, +/// TrainingInstanceType::MlT3Large => { /* ... */ }, +/// TrainingInstanceType::MlT3Medium => { /* ... */ }, +/// TrainingInstanceType::MlT3Xlarge => { /* ... */ }, /// TrainingInstanceType::MlTrn12Xlarge => { /* ... */ }, /// TrainingInstanceType::MlTrn132Xlarge => { /* ... */ }, /// TrainingInstanceType::MlTrn1N32Xlarge => { /* ... */ }, @@ -241,6 +261,46 @@ pub enum TrainingInstanceType { #[allow(missing_docs)] // documentation missing in model MlP548Xlarge, #[allow(missing_docs)] // documentation missing in model + MlR512Xlarge, + #[allow(missing_docs)] // documentation missing in model + MlR516Xlarge, + #[allow(missing_docs)] // documentation missing in model + MlR524Xlarge, + #[allow(missing_docs)] // documentation missing in model + MlR52Xlarge, + #[allow(missing_docs)] // documentation missing in model + MlR54Xlarge, + #[allow(missing_docs)] // documentation missing in model + MlR58Xlarge, + #[allow(missing_docs)] // documentation missing in model + MlR5Large, + #[allow(missing_docs)] // documentation missing in model + MlR5Xlarge, + #[allow(missing_docs)] // documentation missing in model + MlR5D12Xlarge, + #[allow(missing_docs)] // documentation missing in model + MlR5D16Xlarge, + #[allow(missing_docs)] // documentation missing in model + MlR5D24Xlarge, + #[allow(missing_docs)] // documentation missing in model + MlR5D2Xlarge, + #[allow(missing_docs)] // documentation missing in model + MlR5D4Xlarge, + #[allow(missing_docs)] // documentation missing in model + MlR5D8Xlarge, + #[allow(missing_docs)] // documentation missing in model + MlR5DLarge, + #[allow(missing_docs)] // documentation missing in model + MlR5DXlarge, + #[allow(missing_docs)] // documentation missing in model + MlT32Xlarge, + #[allow(missing_docs)] // documentation missing in model + MlT3Large, + #[allow(missing_docs)] // documentation missing in model + MlT3Medium, + #[allow(missing_docs)] // documentation missing in model + MlT3Xlarge, + #[allow(missing_docs)] // documentation missing in model MlTrn12Xlarge, #[allow(missing_docs)] // documentation missing in model MlTrn132Xlarge, @@ -319,6 +379,26 @@ impl ::std::convert::From<&str> for TrainingInstanceType { "ml.p4d.24xlarge" => TrainingInstanceType::MlP4D24Xlarge, "ml.p4de.24xlarge" => TrainingInstanceType::MlP4De24Xlarge, "ml.p5.48xlarge" => TrainingInstanceType::MlP548Xlarge, + "ml.r5.12xlarge" => TrainingInstanceType::MlR512Xlarge, + "ml.r5.16xlarge" => TrainingInstanceType::MlR516Xlarge, + "ml.r5.24xlarge" => TrainingInstanceType::MlR524Xlarge, + "ml.r5.2xlarge" => TrainingInstanceType::MlR52Xlarge, + "ml.r5.4xlarge" => TrainingInstanceType::MlR54Xlarge, + "ml.r5.8xlarge" => TrainingInstanceType::MlR58Xlarge, + "ml.r5.large" => TrainingInstanceType::MlR5Large, + "ml.r5.xlarge" => TrainingInstanceType::MlR5Xlarge, + "ml.r5d.12xlarge" => TrainingInstanceType::MlR5D12Xlarge, + "ml.r5d.16xlarge" => TrainingInstanceType::MlR5D16Xlarge, + "ml.r5d.24xlarge" => TrainingInstanceType::MlR5D24Xlarge, + "ml.r5d.2xlarge" => TrainingInstanceType::MlR5D2Xlarge, + "ml.r5d.4xlarge" => TrainingInstanceType::MlR5D4Xlarge, + "ml.r5d.8xlarge" => TrainingInstanceType::MlR5D8Xlarge, + "ml.r5d.large" => TrainingInstanceType::MlR5DLarge, + "ml.r5d.xlarge" => TrainingInstanceType::MlR5DXlarge, + "ml.t3.2xlarge" => TrainingInstanceType::MlT32Xlarge, + "ml.t3.large" => TrainingInstanceType::MlT3Large, + "ml.t3.medium" => TrainingInstanceType::MlT3Medium, + "ml.t3.xlarge" => TrainingInstanceType::MlT3Xlarge, "ml.trn1.2xlarge" => TrainingInstanceType::MlTrn12Xlarge, "ml.trn1.32xlarge" => TrainingInstanceType::MlTrn132Xlarge, "ml.trn1n.32xlarge" => TrainingInstanceType::MlTrn1N32Xlarge, @@ -403,6 +483,26 @@ impl TrainingInstanceType { TrainingInstanceType::MlP4D24Xlarge => "ml.p4d.24xlarge", TrainingInstanceType::MlP4De24Xlarge => "ml.p4de.24xlarge", TrainingInstanceType::MlP548Xlarge => "ml.p5.48xlarge", + TrainingInstanceType::MlR512Xlarge => "ml.r5.12xlarge", + TrainingInstanceType::MlR516Xlarge => "ml.r5.16xlarge", + TrainingInstanceType::MlR524Xlarge => "ml.r5.24xlarge", + TrainingInstanceType::MlR52Xlarge => "ml.r5.2xlarge", + TrainingInstanceType::MlR54Xlarge => "ml.r5.4xlarge", + TrainingInstanceType::MlR58Xlarge => "ml.r5.8xlarge", + TrainingInstanceType::MlR5Large => "ml.r5.large", + TrainingInstanceType::MlR5Xlarge => "ml.r5.xlarge", + TrainingInstanceType::MlR5D12Xlarge => "ml.r5d.12xlarge", + TrainingInstanceType::MlR5D16Xlarge => "ml.r5d.16xlarge", + TrainingInstanceType::MlR5D24Xlarge => "ml.r5d.24xlarge", + TrainingInstanceType::MlR5D2Xlarge => "ml.r5d.2xlarge", + TrainingInstanceType::MlR5D4Xlarge => "ml.r5d.4xlarge", + TrainingInstanceType::MlR5D8Xlarge => "ml.r5d.8xlarge", + TrainingInstanceType::MlR5DLarge => "ml.r5d.large", + TrainingInstanceType::MlR5DXlarge => "ml.r5d.xlarge", + TrainingInstanceType::MlT32Xlarge => "ml.t3.2xlarge", + TrainingInstanceType::MlT3Large => "ml.t3.large", + TrainingInstanceType::MlT3Medium => "ml.t3.medium", + TrainingInstanceType::MlT3Xlarge => "ml.t3.xlarge", TrainingInstanceType::MlTrn12Xlarge => "ml.trn1.2xlarge", TrainingInstanceType::MlTrn132Xlarge => "ml.trn1.32xlarge", TrainingInstanceType::MlTrn1N32Xlarge => "ml.trn1n.32xlarge", @@ -478,6 +578,26 @@ impl TrainingInstanceType { "ml.p4d.24xlarge", "ml.p4de.24xlarge", "ml.p5.48xlarge", + "ml.r5.12xlarge", + "ml.r5.16xlarge", + "ml.r5.24xlarge", + "ml.r5.2xlarge", + "ml.r5.4xlarge", + "ml.r5.8xlarge", + "ml.r5.large", + "ml.r5.xlarge", + "ml.r5d.12xlarge", + "ml.r5d.16xlarge", + "ml.r5d.24xlarge", + "ml.r5d.2xlarge", + "ml.r5d.4xlarge", + "ml.r5d.8xlarge", + "ml.r5d.large", + "ml.r5d.xlarge", + "ml.t3.2xlarge", + "ml.t3.large", + "ml.t3.medium", + "ml.t3.xlarge", "ml.trn1.2xlarge", "ml.trn1.32xlarge", "ml.trn1n.32xlarge", @@ -570,6 +690,26 @@ impl ::std::fmt::Display for TrainingInstanceType { TrainingInstanceType::MlP4D24Xlarge => write!(f, "ml.p4d.24xlarge"), TrainingInstanceType::MlP4De24Xlarge => write!(f, "ml.p4de.24xlarge"), TrainingInstanceType::MlP548Xlarge => write!(f, "ml.p5.48xlarge"), + TrainingInstanceType::MlR512Xlarge => write!(f, "ml.r5.12xlarge"), + TrainingInstanceType::MlR516Xlarge => write!(f, "ml.r5.16xlarge"), + TrainingInstanceType::MlR524Xlarge => write!(f, "ml.r5.24xlarge"), + TrainingInstanceType::MlR52Xlarge => write!(f, "ml.r5.2xlarge"), + TrainingInstanceType::MlR54Xlarge => write!(f, "ml.r5.4xlarge"), + TrainingInstanceType::MlR58Xlarge => write!(f, "ml.r5.8xlarge"), + TrainingInstanceType::MlR5Large => write!(f, "ml.r5.large"), + TrainingInstanceType::MlR5Xlarge => write!(f, "ml.r5.xlarge"), + TrainingInstanceType::MlR5D12Xlarge => write!(f, "ml.r5d.12xlarge"), + TrainingInstanceType::MlR5D16Xlarge => write!(f, "ml.r5d.16xlarge"), + TrainingInstanceType::MlR5D24Xlarge => write!(f, "ml.r5d.24xlarge"), + TrainingInstanceType::MlR5D2Xlarge => write!(f, "ml.r5d.2xlarge"), + TrainingInstanceType::MlR5D4Xlarge => write!(f, "ml.r5d.4xlarge"), + TrainingInstanceType::MlR5D8Xlarge => write!(f, "ml.r5d.8xlarge"), + TrainingInstanceType::MlR5DLarge => write!(f, "ml.r5d.large"), + TrainingInstanceType::MlR5DXlarge => write!(f, "ml.r5d.xlarge"), + TrainingInstanceType::MlT32Xlarge => write!(f, "ml.t3.2xlarge"), + TrainingInstanceType::MlT3Large => write!(f, "ml.t3.large"), + TrainingInstanceType::MlT3Medium => write!(f, "ml.t3.medium"), + TrainingInstanceType::MlT3Xlarge => write!(f, "ml.t3.xlarge"), TrainingInstanceType::MlTrn12Xlarge => write!(f, "ml.trn1.2xlarge"), TrainingInstanceType::MlTrn132Xlarge => write!(f, "ml.trn1.32xlarge"), TrainingInstanceType::MlTrn1N32Xlarge => write!(f, "ml.trn1n.32xlarge"), diff --git a/sdk/secretsmanager/Cargo.toml b/sdk/secretsmanager/Cargo.toml index c98c77e6b4e9..638c32cd9a36 100644 --- a/sdk/secretsmanager/Cargo.toml +++ b/sdk/secretsmanager/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-secretsmanager" -version = "1.39.0" +version = "1.39.1" authors = ["AWS Rust SDK Team ", "Russell Cohen "] description = "AWS SDK for AWS Secrets Manager" edition = "2021" diff --git a/sdk/secretsmanager/README.md b/sdk/secretsmanager/README.md index f0220e2037be..72f1700d1d89 100644 --- a/sdk/secretsmanager/README.md +++ b/sdk/secretsmanager/README.md @@ -30,7 +30,7 @@ your project, add the following to your **Cargo.toml** file: ```toml [dependencies] aws-config = { version = "1.1.7", features = ["behavior-version-latest"] } -aws-sdk-secretsmanager = "1.39.0" +aws-sdk-secretsmanager = "1.39.1" tokio = { version = "1", features = ["full"] } ``` diff --git a/sdk/secretsmanager/src/client/update_secret.rs b/sdk/secretsmanager/src/client/update_secret.rs index a45cb107a96c..08dadc3a9d5a 100644 --- a/sdk/secretsmanager/src/client/update_secret.rs +++ b/sdk/secretsmanager/src/client/update_secret.rs @@ -6,7 +6,7 @@ impl super::Client { /// - [`secret_id(impl Into)`](crate::operation::update_secret::builders::UpdateSecretFluentBuilder::secret_id) / [`set_secret_id(Option)`](crate::operation::update_secret::builders::UpdateSecretFluentBuilder::set_secret_id):
                required: **true**

                The ARN or name of the secret.

                For an ARN, we recommend that you specify a complete ARN rather than a partial ARN. See Finding a secret from a partial ARN.


                /// - [`client_request_token(impl Into)`](crate::operation::update_secret::builders::UpdateSecretFluentBuilder::client_request_token) / [`set_client_request_token(Option)`](crate::operation::update_secret::builders::UpdateSecretFluentBuilder::set_client_request_token):
                required: **false**

                If you include SecretString or SecretBinary, then Secrets Manager creates a new version for the secret, and this parameter specifies the unique identifier for the new version.

                If you use the Amazon Web Services CLI or one of the Amazon Web Services SDKs to call this operation, then you can leave this parameter empty. The CLI or SDK generates a random UUID for you and includes it as the value for this parameter in the request.

                If you generate a raw HTTP request to the Secrets Manager service endpoint, then you must generate a ClientRequestToken and include it in the request.

                This value helps ensure idempotency. Secrets Manager uses this value to prevent the accidental creation of duplicate versions if there are failures and retries during a rotation. We recommend that you generate a UUID-type value to ensure uniqueness of your versions within the specified secret.


                /// - [`description(impl Into)`](crate::operation::update_secret::builders::UpdateSecretFluentBuilder::description) / [`set_description(Option)`](crate::operation::update_secret::builders::UpdateSecretFluentBuilder::set_description):
                required: **false**

                The description of the secret.


                - /// - [`kms_key_id(impl Into)`](crate::operation::update_secret::builders::UpdateSecretFluentBuilder::kms_key_id) / [`set_kms_key_id(Option)`](crate::operation::update_secret::builders::UpdateSecretFluentBuilder::set_kms_key_id):
                required: **false**

                The ARN, key ID, or alias of the KMS key that Secrets Manager uses to encrypt new secret versions as well as any existing versions with the staging labels AWSCURRENT, AWSPENDING, or AWSPREVIOUS. If you don't have kms:Encrypt permission to the new key, Secrets Manager does not re-ecrypt existing secret versions with the new key. For more information about versions and staging labels, see Concepts: Version.

                A key alias is always prefixed by alias/, for example alias/aws/secretsmanager. For more information, see About aliases.

                If you set this to an empty string, Secrets Manager uses the Amazon Web Services managed key aws/secretsmanager. If this key doesn't already exist in your account, then Secrets Manager creates it for you automatically. All users and roles in the Amazon Web Services account automatically have access to use aws/secretsmanager. Creating aws/secretsmanager can result in a one-time significant delay in returning the result.

                You can only use the Amazon Web Services managed key aws/secretsmanager if you call this operation using credentials from the same Amazon Web Services account that owns the secret. If the secret is in a different account, then you must use a customer managed key and provide the ARN of that KMS key in this field. The user making the call must have permissions to both the secret and the KMS key in their respective accounts.


                + /// - [`kms_key_id(impl Into)`](crate::operation::update_secret::builders::UpdateSecretFluentBuilder::kms_key_id) / [`set_kms_key_id(Option)`](crate::operation::update_secret::builders::UpdateSecretFluentBuilder::set_kms_key_id):
                required: **false**

                The ARN, key ID, or alias of the KMS key that Secrets Manager uses to encrypt new secret versions as well as any existing versions with the staging labels AWSCURRENT, AWSPENDING, or AWSPREVIOUS. If you don't have kms:Encrypt permission to the new key, Secrets Manager does not re-encrypt existing secret versions with the new key. For more information about versions and staging labels, see Concepts: Version.

                A key alias is always prefixed by alias/, for example alias/aws/secretsmanager. For more information, see About aliases.

                If you set this to an empty string, Secrets Manager uses the Amazon Web Services managed key aws/secretsmanager. If this key doesn't already exist in your account, then Secrets Manager creates it for you automatically. All users and roles in the Amazon Web Services account automatically have access to use aws/secretsmanager. Creating aws/secretsmanager can result in a one-time significant delay in returning the result.

                You can only use the Amazon Web Services managed key aws/secretsmanager if you call this operation using credentials from the same Amazon Web Services account that owns the secret. If the secret is in a different account, then you must use a customer managed key and provide the ARN of that KMS key in this field. The user making the call must have permissions to both the secret and the KMS key in their respective accounts.


                /// - [`secret_binary(Blob)`](crate::operation::update_secret::builders::UpdateSecretFluentBuilder::secret_binary) / [`set_secret_binary(Option)`](crate::operation::update_secret::builders::UpdateSecretFluentBuilder::set_secret_binary):
                required: **false**

                The binary data to encrypt and store in the new version of the secret. We recommend that you store your binary data in a file and then pass the contents of the file as a parameter.

                Either SecretBinary or SecretString must have a value, but not both.

                You can't access this parameter in the Secrets Manager console.

                Sensitive: This field contains sensitive information, so the service does not include it in CloudTrail log entries. If you create your own log entries, you must also avoid logging the information in this field.


                /// - [`secret_string(impl Into)`](crate::operation::update_secret::builders::UpdateSecretFluentBuilder::secret_string) / [`set_secret_string(Option)`](crate::operation::update_secret::builders::UpdateSecretFluentBuilder::set_secret_string):
                required: **false**

                The text data to encrypt and store in the new version of the secret. We recommend you use a JSON structure of key/value pairs for your secret value.

                Either SecretBinary or SecretString must have a value, but not both.

                Sensitive: This field contains sensitive information, so the service does not include it in CloudTrail log entries. If you create your own log entries, you must also avoid logging the information in this field.


                /// - On success, responds with [`UpdateSecretOutput`](crate::operation::update_secret::UpdateSecretOutput) with field(s): diff --git a/sdk/secretsmanager/src/lib.rs b/sdk/secretsmanager/src/lib.rs index a82fbc7cd671..78e0135ac93f 100644 --- a/sdk/secretsmanager/src/lib.rs +++ b/sdk/secretsmanager/src/lib.rs @@ -47,7 +47,7 @@ //! ```toml //! [dependencies] //! aws-config = { version = "1.1.7", features = ["behavior-version-latest"] } -//! aws-sdk-secretsmanager = "1.39.0" +//! aws-sdk-secretsmanager = "1.39.1" //! tokio = { version = "1", features = ["full"] } //! ``` //! diff --git a/sdk/secretsmanager/src/operation/create_secret/builders.rs b/sdk/secretsmanager/src/operation/create_secret/builders.rs index d5bea24470e7..f6db4356f434 100644 --- a/sdk/secretsmanager/src/operation/create_secret/builders.rs +++ b/sdk/secretsmanager/src/operation/create_secret/builders.rs @@ -31,7 +31,9 @@ impl crate::operation::create_secret::builders::CreateSecretInputBuilder { ///

                If the secret is in a different Amazon Web Services account from the credentials calling the API, then you can't use aws/secretsmanager to encrypt the secret, and you must create and use a customer managed KMS key.

                ///

                Secrets Manager generates a CloudTrail log entry when you call this action. Do not include sensitive information in request parameters except SecretBinary or SecretString because it might be logged. For more information, see Logging Secrets Manager events with CloudTrail.

                ///

                Required permissions: secretsmanager:CreateSecret. If you include tags in the secret, you also need secretsmanager:TagResource. To add replica Regions, you must also have secretsmanager:ReplicateSecretToRegions. For more information, see IAM policy actions for Secrets Manager and Authentication and access control in Secrets Manager.

                -///

                To encrypt the secret with a KMS key other than aws/secretsmanager, you need kms:GenerateDataKey and kms:Decrypt permission to the key.

                +///

                To encrypt the secret with a KMS key other than aws/secretsmanager, you need kms:GenerateDataKey and kms:Decrypt permission to the key.

                +///

                When you enter commands in a command shell, there is a risk of the command history being accessed or utilities having access to your command parameters. This is a concern if the command includes the value of a secret. Learn how to Mitigate the risks of using command-line tools to store Secrets Manager secrets.

                +///
                #[derive(::std::clone::Clone, ::std::fmt::Debug)] pub struct CreateSecretFluentBuilder { handle: ::std::sync::Arc, diff --git a/sdk/secretsmanager/src/operation/put_secret_value/builders.rs b/sdk/secretsmanager/src/operation/put_secret_value/builders.rs index b2563fecb35e..27e3beb6e917 100644 --- a/sdk/secretsmanager/src/operation/put_secret_value/builders.rs +++ b/sdk/secretsmanager/src/operation/put_secret_value/builders.rs @@ -27,7 +27,9 @@ impl crate::operation::put_secret_value::builders::PutSecretValueInputBuilder { ///

                You can specify the staging labels to attach to the new version in VersionStages. If you don't include VersionStages, then Secrets Manager automatically moves the staging label AWSCURRENT to this version. If this operation creates the first version for the secret, then Secrets Manager automatically attaches the staging label AWSCURRENT to it. If this operation moves the staging label AWSCURRENT from another version to this version, then Secrets Manager also automatically moves the staging label AWSPREVIOUS to the version that AWSCURRENT was removed from.

                ///

                This operation is idempotent. If you call this operation with a ClientRequestToken that matches an existing version's VersionId, and you specify the same secret data, the operation succeeds but does nothing. However, if the secret data is different, then the operation fails because you can't modify an existing version; you can only create new ones.

                ///

                Secrets Manager generates a CloudTrail log entry when you call this action. Do not include sensitive information in request parameters except SecretBinary, SecretString, or RotationToken because it might be logged. For more information, see Logging Secrets Manager events with CloudTrail.

                -///

                Required permissions: secretsmanager:PutSecretValue. For more information, see IAM policy actions for Secrets Manager and Authentication and access control in Secrets Manager.

                +///

                Required permissions: secretsmanager:PutSecretValue. For more information, see IAM policy actions for Secrets Manager and Authentication and access control in Secrets Manager.

                +///

                When you enter commands in a command shell, there is a risk of the command history being accessed or utilities having access to your command parameters. This is a concern if the command includes the value of a secret. Learn how to Mitigate the risks of using command-line tools to store Secrets Manager secrets.

                +///
                #[derive(::std::clone::Clone, ::std::fmt::Debug)] pub struct PutSecretValueFluentBuilder { handle: ::std::sync::Arc, diff --git a/sdk/secretsmanager/src/operation/update_secret/_update_secret_input.rs b/sdk/secretsmanager/src/operation/update_secret/_update_secret_input.rs index a3be27191bc6..5bff2e69d2f4 100644 --- a/sdk/secretsmanager/src/operation/update_secret/_update_secret_input.rs +++ b/sdk/secretsmanager/src/operation/update_secret/_update_secret_input.rs @@ -14,7 +14,7 @@ pub struct UpdateSecretInput { pub client_request_token: ::std::option::Option<::std::string::String>, ///

                The description of the secret.

                pub description: ::std::option::Option<::std::string::String>, - ///

                The ARN, key ID, or alias of the KMS key that Secrets Manager uses to encrypt new secret versions as well as any existing versions with the staging labels AWSCURRENT, AWSPENDING, or AWSPREVIOUS. If you don't have kms:Encrypt permission to the new key, Secrets Manager does not re-ecrypt existing secret versions with the new key. For more information about versions and staging labels, see Concepts: Version.

                + ///

                The ARN, key ID, or alias of the KMS key that Secrets Manager uses to encrypt new secret versions as well as any existing versions with the staging labels AWSCURRENT, AWSPENDING, or AWSPREVIOUS. If you don't have kms:Encrypt permission to the new key, Secrets Manager does not re-encrypt existing secret versions with the new key. For more information about versions and staging labels, see Concepts: Version.

                ///

                A key alias is always prefixed by alias/, for example alias/aws/secretsmanager. For more information, see About aliases.

                ///

                If you set this to an empty string, Secrets Manager uses the Amazon Web Services managed key aws/secretsmanager. If this key doesn't already exist in your account, then Secrets Manager creates it for you automatically. All users and roles in the Amazon Web Services account automatically have access to use aws/secretsmanager. Creating aws/secretsmanager can result in a one-time significant delay in returning the result.

                ///

                You can only use the Amazon Web Services managed key aws/secretsmanager if you call this operation using credentials from the same Amazon Web Services account that owns the secret. If the secret is in a different account, then you must use a customer managed key and provide the ARN of that KMS key in this field. The user making the call must have permissions to both the secret and the KMS key in their respective accounts.

                @@ -48,7 +48,7 @@ impl UpdateSecretInput { pub fn description(&self) -> ::std::option::Option<&str> { self.description.as_deref() } - ///

                The ARN, key ID, or alias of the KMS key that Secrets Manager uses to encrypt new secret versions as well as any existing versions with the staging labels AWSCURRENT, AWSPENDING, or AWSPREVIOUS. If you don't have kms:Encrypt permission to the new key, Secrets Manager does not re-ecrypt existing secret versions with the new key. For more information about versions and staging labels, see Concepts: Version.

                + ///

                The ARN, key ID, or alias of the KMS key that Secrets Manager uses to encrypt new secret versions as well as any existing versions with the staging labels AWSCURRENT, AWSPENDING, or AWSPREVIOUS. If you don't have kms:Encrypt permission to the new key, Secrets Manager does not re-encrypt existing secret versions with the new key. For more information about versions and staging labels, see Concepts: Version.

                ///

                A key alias is always prefixed by alias/, for example alias/aws/secretsmanager. For more information, see About aliases.

                ///

                If you set this to an empty string, Secrets Manager uses the Amazon Web Services managed key aws/secretsmanager. If this key doesn't already exist in your account, then Secrets Manager creates it for you automatically. All users and roles in the Amazon Web Services account automatically have access to use aws/secretsmanager. Creating aws/secretsmanager can result in a one-time significant delay in returning the result.

                ///

                You can only use the Amazon Web Services managed key aws/secretsmanager if you call this operation using credentials from the same Amazon Web Services account that owns the secret. If the secret is in a different account, then you must use a customer managed key and provide the ARN of that KMS key in this field. The user making the call must have permissions to both the secret and the KMS key in their respective accounts.

                @@ -159,7 +159,7 @@ impl UpdateSecretInputBuilder { pub fn get_description(&self) -> &::std::option::Option<::std::string::String> { &self.description } - ///

                The ARN, key ID, or alias of the KMS key that Secrets Manager uses to encrypt new secret versions as well as any existing versions with the staging labels AWSCURRENT, AWSPENDING, or AWSPREVIOUS. If you don't have kms:Encrypt permission to the new key, Secrets Manager does not re-ecrypt existing secret versions with the new key. For more information about versions and staging labels, see Concepts: Version.

                + ///

                The ARN, key ID, or alias of the KMS key that Secrets Manager uses to encrypt new secret versions as well as any existing versions with the staging labels AWSCURRENT, AWSPENDING, or AWSPREVIOUS. If you don't have kms:Encrypt permission to the new key, Secrets Manager does not re-encrypt existing secret versions with the new key. For more information about versions and staging labels, see Concepts: Version.

                ///

                A key alias is always prefixed by alias/, for example alias/aws/secretsmanager. For more information, see About aliases.

                ///

                If you set this to an empty string, Secrets Manager uses the Amazon Web Services managed key aws/secretsmanager. If this key doesn't already exist in your account, then Secrets Manager creates it for you automatically. All users and roles in the Amazon Web Services account automatically have access to use aws/secretsmanager. Creating aws/secretsmanager can result in a one-time significant delay in returning the result.

                ///

                You can only use the Amazon Web Services managed key aws/secretsmanager if you call this operation using credentials from the same Amazon Web Services account that owns the secret. If the secret is in a different account, then you must use a customer managed key and provide the ARN of that KMS key in this field. The user making the call must have permissions to both the secret and the KMS key in their respective accounts.

                @@ -168,7 +168,7 @@ impl UpdateSecretInputBuilder { self.kms_key_id = ::std::option::Option::Some(input.into()); self } - ///

                The ARN, key ID, or alias of the KMS key that Secrets Manager uses to encrypt new secret versions as well as any existing versions with the staging labels AWSCURRENT, AWSPENDING, or AWSPREVIOUS. If you don't have kms:Encrypt permission to the new key, Secrets Manager does not re-ecrypt existing secret versions with the new key. For more information about versions and staging labels, see Concepts: Version.

                + ///

                The ARN, key ID, or alias of the KMS key that Secrets Manager uses to encrypt new secret versions as well as any existing versions with the staging labels AWSCURRENT, AWSPENDING, or AWSPREVIOUS. If you don't have kms:Encrypt permission to the new key, Secrets Manager does not re-encrypt existing secret versions with the new key. For more information about versions and staging labels, see Concepts: Version.

                ///

                A key alias is always prefixed by alias/, for example alias/aws/secretsmanager. For more information, see About aliases.

                ///

                If you set this to an empty string, Secrets Manager uses the Amazon Web Services managed key aws/secretsmanager. If this key doesn't already exist in your account, then Secrets Manager creates it for you automatically. All users and roles in the Amazon Web Services account automatically have access to use aws/secretsmanager. Creating aws/secretsmanager can result in a one-time significant delay in returning the result.

                ///

                You can only use the Amazon Web Services managed key aws/secretsmanager if you call this operation using credentials from the same Amazon Web Services account that owns the secret. If the secret is in a different account, then you must use a customer managed key and provide the ARN of that KMS key in this field. The user making the call must have permissions to both the secret and the KMS key in their respective accounts.

                @@ -177,7 +177,7 @@ impl UpdateSecretInputBuilder { self.kms_key_id = input; self } - ///

                The ARN, key ID, or alias of the KMS key that Secrets Manager uses to encrypt new secret versions as well as any existing versions with the staging labels AWSCURRENT, AWSPENDING, or AWSPREVIOUS. If you don't have kms:Encrypt permission to the new key, Secrets Manager does not re-ecrypt existing secret versions with the new key. For more information about versions and staging labels, see Concepts: Version.

                + ///

                The ARN, key ID, or alias of the KMS key that Secrets Manager uses to encrypt new secret versions as well as any existing versions with the staging labels AWSCURRENT, AWSPENDING, or AWSPREVIOUS. If you don't have kms:Encrypt permission to the new key, Secrets Manager does not re-encrypt existing secret versions with the new key. For more information about versions and staging labels, see Concepts: Version.

                ///

                A key alias is always prefixed by alias/, for example alias/aws/secretsmanager. For more information, see About aliases.

                ///

                If you set this to an empty string, Secrets Manager uses the Amazon Web Services managed key aws/secretsmanager. If this key doesn't already exist in your account, then Secrets Manager creates it for you automatically. All users and roles in the Amazon Web Services account automatically have access to use aws/secretsmanager. Creating aws/secretsmanager can result in a one-time significant delay in returning the result.

                ///

                You can only use the Amazon Web Services managed key aws/secretsmanager if you call this operation using credentials from the same Amazon Web Services account that owns the secret. If the secret is in a different account, then you must use a customer managed key and provide the ARN of that KMS key in this field. The user making the call must have permissions to both the secret and the KMS key in their respective accounts.

                diff --git a/sdk/secretsmanager/src/operation/update_secret/builders.rs b/sdk/secretsmanager/src/operation/update_secret/builders.rs index bbeccc0efe95..2b657976de4c 100644 --- a/sdk/secretsmanager/src/operation/update_secret/builders.rs +++ b/sdk/secretsmanager/src/operation/update_secret/builders.rs @@ -29,7 +29,9 @@ impl crate::operation::update_secret::builders::UpdateSecretInputBuilder { ///

                If you include SecretString or SecretBinary to create a new secret version, Secrets Manager automatically moves the staging label AWSCURRENT to the new version. Then it attaches the label AWSPREVIOUS to the version that AWSCURRENT was removed from.

                ///

                If you call this operation with a ClientRequestToken that matches an existing version's VersionId, the operation results in an error. You can't modify an existing version, you can only create a new version. To remove a version, remove all staging labels from it. See UpdateSecretVersionStage.

                ///

                Secrets Manager generates a CloudTrail log entry when you call this action. Do not include sensitive information in request parameters except SecretBinary or SecretString because it might be logged. For more information, see Logging Secrets Manager events with CloudTrail.

                -///

                Required permissions: secretsmanager:UpdateSecret. For more information, see IAM policy actions for Secrets Manager and Authentication and access control in Secrets Manager. If you use a customer managed key, you must also have kms:GenerateDataKey, kms:Encrypt, and kms:Decrypt permissions on the key. If you change the KMS key and you don't have kms:Encrypt permission to the new key, Secrets Manager does not re-ecrypt existing secret versions with the new key. For more information, see Secret encryption and decryption.

                +///

                Required permissions: secretsmanager:UpdateSecret. For more information, see IAM policy actions for Secrets Manager and Authentication and access control in Secrets Manager. If you use a customer managed key, you must also have kms:GenerateDataKey, kms:Encrypt, and kms:Decrypt permissions on the key. If you change the KMS key and you don't have kms:Encrypt permission to the new key, Secrets Manager does not re-encrypt existing secret versions with the new key. For more information, see Secret encryption and decryption.

                +///

                When you enter commands in a command shell, there is a risk of the command history being accessed or utilities having access to your command parameters. This is a concern if the command includes the value of a secret. Learn how to Mitigate the risks of using command-line tools to store Secrets Manager secrets.

                +///
                #[derive(::std::clone::Clone, ::std::fmt::Debug)] pub struct UpdateSecretFluentBuilder { handle: ::std::sync::Arc, @@ -172,7 +174,7 @@ impl UpdateSecretFluentBuilder { pub fn get_description(&self) -> &::std::option::Option<::std::string::String> { self.inner.get_description() } - ///

                The ARN, key ID, or alias of the KMS key that Secrets Manager uses to encrypt new secret versions as well as any existing versions with the staging labels AWSCURRENT, AWSPENDING, or AWSPREVIOUS. If you don't have kms:Encrypt permission to the new key, Secrets Manager does not re-ecrypt existing secret versions with the new key. For more information about versions and staging labels, see Concepts: Version.

                + ///

                The ARN, key ID, or alias of the KMS key that Secrets Manager uses to encrypt new secret versions as well as any existing versions with the staging labels AWSCURRENT, AWSPENDING, or AWSPREVIOUS. If you don't have kms:Encrypt permission to the new key, Secrets Manager does not re-encrypt existing secret versions with the new key. For more information about versions and staging labels, see Concepts: Version.

                ///

                A key alias is always prefixed by alias/, for example alias/aws/secretsmanager. For more information, see About aliases.

                ///

                If you set this to an empty string, Secrets Manager uses the Amazon Web Services managed key aws/secretsmanager. If this key doesn't already exist in your account, then Secrets Manager creates it for you automatically. All users and roles in the Amazon Web Services account automatically have access to use aws/secretsmanager. Creating aws/secretsmanager can result in a one-time significant delay in returning the result.

                ///

                You can only use the Amazon Web Services managed key aws/secretsmanager if you call this operation using credentials from the same Amazon Web Services account that owns the secret. If the secret is in a different account, then you must use a customer managed key and provide the ARN of that KMS key in this field. The user making the call must have permissions to both the secret and the KMS key in their respective accounts.

                @@ -181,7 +183,7 @@ impl UpdateSecretFluentBuilder { self.inner = self.inner.kms_key_id(input.into()); self } - ///

                The ARN, key ID, or alias of the KMS key that Secrets Manager uses to encrypt new secret versions as well as any existing versions with the staging labels AWSCURRENT, AWSPENDING, or AWSPREVIOUS. If you don't have kms:Encrypt permission to the new key, Secrets Manager does not re-ecrypt existing secret versions with the new key. For more information about versions and staging labels, see Concepts: Version.

                + ///

                The ARN, key ID, or alias of the KMS key that Secrets Manager uses to encrypt new secret versions as well as any existing versions with the staging labels AWSCURRENT, AWSPENDING, or AWSPREVIOUS. If you don't have kms:Encrypt permission to the new key, Secrets Manager does not re-encrypt existing secret versions with the new key. For more information about versions and staging labels, see Concepts: Version.

                ///

                A key alias is always prefixed by alias/, for example alias/aws/secretsmanager. For more information, see About aliases.

                ///

                If you set this to an empty string, Secrets Manager uses the Amazon Web Services managed key aws/secretsmanager. If this key doesn't already exist in your account, then Secrets Manager creates it for you automatically. All users and roles in the Amazon Web Services account automatically have access to use aws/secretsmanager. Creating aws/secretsmanager can result in a one-time significant delay in returning the result.

                ///

                You can only use the Amazon Web Services managed key aws/secretsmanager if you call this operation using credentials from the same Amazon Web Services account that owns the secret. If the secret is in a different account, then you must use a customer managed key and provide the ARN of that KMS key in this field. The user making the call must have permissions to both the secret and the KMS key in their respective accounts.

                @@ -190,7 +192,7 @@ impl UpdateSecretFluentBuilder { self.inner = self.inner.set_kms_key_id(input); self } - ///

                The ARN, key ID, or alias of the KMS key that Secrets Manager uses to encrypt new secret versions as well as any existing versions with the staging labels AWSCURRENT, AWSPENDING, or AWSPREVIOUS. If you don't have kms:Encrypt permission to the new key, Secrets Manager does not re-ecrypt existing secret versions with the new key. For more information about versions and staging labels, see Concepts: Version.

                + ///

                The ARN, key ID, or alias of the KMS key that Secrets Manager uses to encrypt new secret versions as well as any existing versions with the staging labels AWSCURRENT, AWSPENDING, or AWSPREVIOUS. If you don't have kms:Encrypt permission to the new key, Secrets Manager does not re-encrypt existing secret versions with the new key. For more information about versions and staging labels, see Concepts: Version.

                ///

                A key alias is always prefixed by alias/, for example alias/aws/secretsmanager. For more information, see About aliases.

                ///

                If you set this to an empty string, Secrets Manager uses the Amazon Web Services managed key aws/secretsmanager. If this key doesn't already exist in your account, then Secrets Manager creates it for you automatically. All users and roles in the Amazon Web Services account automatically have access to use aws/secretsmanager. Creating aws/secretsmanager can result in a one-time significant delay in returning the result.

                ///

                You can only use the Amazon Web Services managed key aws/secretsmanager if you call this operation using credentials from the same Amazon Web Services account that owns the secret. If the secret is in a different account, then you must use a customer managed key and provide the ARN of that KMS key in this field. The user making the call must have permissions to both the secret and the KMS key in their respective accounts.

                diff --git a/sdk/taxsettings/Cargo.toml b/sdk/taxsettings/Cargo.toml index ab23962517ba..5d0242254581 100644 --- a/sdk/taxsettings/Cargo.toml +++ b/sdk/taxsettings/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-taxsettings" -version = "1.6.0" +version = "1.7.0" authors = ["AWS Rust SDK Team ", "Russell Cohen "] description = "AWS SDK for Tax Settings" edition = "2021" diff --git a/sdk/taxsettings/README.md b/sdk/taxsettings/README.md index f396219a682f..5aa74c29355a 100644 --- a/sdk/taxsettings/README.md +++ b/sdk/taxsettings/README.md @@ -19,7 +19,7 @@ your project, add the following to your **Cargo.toml** file: ```toml [dependencies] aws-config = { version = "1.1.7", features = ["behavior-version-latest"] } -aws-sdk-taxsettings = "1.6.0" +aws-sdk-taxsettings = "1.7.0" tokio = { version = "1", features = ["full"] } ``` diff --git a/sdk/taxsettings/src/config/endpoint.rs b/sdk/taxsettings/src/config/endpoint.rs index 53ffea8d1ec6..24fe4218a443 100644 --- a/sdk/taxsettings/src/config/endpoint.rs +++ b/sdk/taxsettings/src/config/endpoint.rs @@ -7,9 +7,59 @@ pub use ::aws_smithy_types::endpoint::Endpoint; #[cfg(test)] mod test { - /// For region us-east-1 with FIPS enabled and DualStack enabled + /// For custom endpoint with region not set and fips disabled #[test] fn test_1() { + let params = crate::config::endpoint::Params::builder() + .endpoint("https://example.com".to_string()) + .use_fips(false) + .build() + .expect("invalid params"); + let resolver = crate::config::endpoint::DefaultResolver::new(); + let endpoint = resolver.resolve_endpoint(¶ms); + let endpoint = endpoint.expect("Expected valid endpoint: https://example.com"); + assert_eq!( + endpoint, + ::aws_smithy_types::endpoint::Endpoint::builder().url("https://example.com").build() + ); + } + + /// For custom endpoint with fips enabled + #[test] + fn test_2() { + let params = crate::config::endpoint::Params::builder() + .endpoint("https://example.com".to_string()) + .use_fips(true) + .build() + .expect("invalid params"); + let resolver = crate::config::endpoint::DefaultResolver::new(); + let endpoint = resolver.resolve_endpoint(¶ms); + let error = endpoint + .expect_err("expected error: Invalid Configuration: FIPS and custom endpoint are not supported [For custom endpoint with fips enabled]"); + assert_eq!(format!("{}", error), "Invalid Configuration: FIPS and custom endpoint are not supported") + } + + /// For custom endpoint with fips disabled and dualstack enabled + #[test] + fn test_3() { + let params = crate::config::endpoint::Params::builder() + .endpoint("https://example.com".to_string()) + .use_fips(false) + .use_dual_stack(true) + .build() + .expect("invalid params"); + let resolver = crate::config::endpoint::DefaultResolver::new(); + let endpoint = resolver.resolve_endpoint(¶ms); + let error = endpoint.expect_err("expected error: Invalid Configuration: Dualstack and custom endpoint are not supported [For custom endpoint with fips disabled and dualstack enabled]"); + assert_eq!( + format!("{}", error), + "Invalid Configuration: Dualstack and custom endpoint are not supported" + ) + } + + /// For region us-east-1 with FIPS enabled and DualStack enabled + #[test] + fn test_4() { let params = crate::config::endpoint::Params::builder() .region("us-east-1".to_string()) .use_fips(true) @@ -23,13 +73,22 @@ mod test { endpoint, ::aws_smithy_types::endpoint::Endpoint::builder() .url("https://tax-fips.us-east-1.api.aws") + .property( + "authSchemes", + vec![::aws_smithy_types::Document::from({ + let mut out = ::std::collections::HashMap::::new(); + out.insert("name".to_string(), "sigv4".to_string().into()); + out.insert("signingRegion".to_string(), "us-east-1".to_string().into()); + out + })] + ) .build() ); } /// For region us-east-1 with FIPS enabled and DualStack disabled #[test] - fn test_2() { + fn test_5() { let params = crate::config::endpoint::Params::builder() .region("us-east-1".to_string()) .use_fips(true) @@ -43,13 +102,22 @@ mod test { endpoint, ::aws_smithy_types::endpoint::Endpoint::builder() .url("https://tax-fips.us-east-1.amazonaws.com") + .property( + "authSchemes", + vec![::aws_smithy_types::Document::from({ + let mut out = ::std::collections::HashMap::::new(); + out.insert("name".to_string(), "sigv4".to_string().into()); + out.insert("signingRegion".to_string(), "us-east-1".to_string().into()); + out + })] + ) .build() ); } /// For region us-east-1 with FIPS disabled and DualStack enabled #[test] - fn test_3() { + fn test_6() { let params = crate::config::endpoint::Params::builder() .region("us-east-1".to_string()) .use_fips(false) @@ -63,13 +131,22 @@ mod test { endpoint, ::aws_smithy_types::endpoint::Endpoint::builder() .url("https://tax.us-east-1.api.aws") + .property( + "authSchemes", + vec![::aws_smithy_types::Document::from({ + let mut out = ::std::collections::HashMap::::new(); + out.insert("name".to_string(), "sigv4".to_string().into()); + out.insert("signingRegion".to_string(), "us-east-1".to_string().into()); + out + })] + ) .build() ); } /// For region us-east-1 with FIPS disabled and DualStack disabled #[test] - fn test_4() { + fn test_7() { let params = crate::config::endpoint::Params::builder() .region("us-east-1".to_string()) .use_fips(false) @@ -83,173 +160,254 @@ mod test { endpoint, ::aws_smithy_types::endpoint::Endpoint::builder() .url("https://tax.us-east-1.amazonaws.com") + .property( + "authSchemes", + vec![::aws_smithy_types::Document::from({ + let mut out = ::std::collections::HashMap::::new(); + out.insert("name".to_string(), "sigv4".to_string().into()); + out.insert("signingRegion".to_string(), "us-east-1".to_string().into()); + out + })] + ) .build() ); } - /// For region cn-north-1 with FIPS enabled and DualStack enabled + /// For region cn-northwest-1 with FIPS enabled and DualStack enabled #[test] - fn test_5() { + fn test_8() { let params = crate::config::endpoint::Params::builder() - .region("cn-north-1".to_string()) + .region("cn-northwest-1".to_string()) .use_fips(true) .use_dual_stack(true) .build() .expect("invalid params"); let resolver = crate::config::endpoint::DefaultResolver::new(); let endpoint = resolver.resolve_endpoint(¶ms); - let endpoint = endpoint.expect("Expected valid endpoint: https://tax-fips.cn-north-1.api.amazonwebservices.com.cn"); + let endpoint = endpoint.expect("Expected valid endpoint: https://tax-fips.cn-northwest-1.api.amazonwebservices.com.cn"); assert_eq!( endpoint, ::aws_smithy_types::endpoint::Endpoint::builder() - .url("https://tax-fips.cn-north-1.api.amazonwebservices.com.cn") + .url("https://tax-fips.cn-northwest-1.api.amazonwebservices.com.cn") + .property( + "authSchemes", + vec![::aws_smithy_types::Document::from({ + let mut out = ::std::collections::HashMap::::new(); + out.insert("name".to_string(), "sigv4".to_string().into()); + out.insert("signingRegion".to_string(), "cn-northwest-1".to_string().into()); + out + })] + ) .build() ); } - /// For region cn-north-1 with FIPS enabled and DualStack disabled + /// For region cn-northwest-1 with FIPS enabled and DualStack disabled #[test] - fn test_6() { + fn test_9() { let params = crate::config::endpoint::Params::builder() - .region("cn-north-1".to_string()) + .region("cn-northwest-1".to_string()) .use_fips(true) .use_dual_stack(false) .build() .expect("invalid params"); let resolver = crate::config::endpoint::DefaultResolver::new(); let endpoint = resolver.resolve_endpoint(¶ms); - let endpoint = endpoint.expect("Expected valid endpoint: https://tax-fips.cn-north-1.amazonaws.com.cn"); + let endpoint = endpoint.expect("Expected valid endpoint: https://tax-fips.cn-northwest-1.amazonaws.com.cn"); assert_eq!( endpoint, ::aws_smithy_types::endpoint::Endpoint::builder() - .url("https://tax-fips.cn-north-1.amazonaws.com.cn") + .url("https://tax-fips.cn-northwest-1.amazonaws.com.cn") + .property( + "authSchemes", + vec![::aws_smithy_types::Document::from({ + let mut out = ::std::collections::HashMap::::new(); + out.insert("name".to_string(), "sigv4".to_string().into()); + out.insert("signingRegion".to_string(), "cn-northwest-1".to_string().into()); + out + })] + ) .build() ); } - /// For region cn-north-1 with FIPS disabled and DualStack enabled + /// For region cn-northwest-1 with FIPS disabled and DualStack enabled #[test] - fn test_7() { + fn test_10() { let params = crate::config::endpoint::Params::builder() - .region("cn-north-1".to_string()) + .region("cn-northwest-1".to_string()) .use_fips(false) .use_dual_stack(true) .build() .expect("invalid params"); let resolver = crate::config::endpoint::DefaultResolver::new(); let endpoint = resolver.resolve_endpoint(¶ms); - let endpoint = endpoint.expect("Expected valid endpoint: https://tax.cn-north-1.api.amazonwebservices.com.cn"); + let endpoint = endpoint.expect("Expected valid endpoint: https://tax.cn-northwest-1.api.amazonwebservices.com.cn"); assert_eq!( endpoint, ::aws_smithy_types::endpoint::Endpoint::builder() - .url("https://tax.cn-north-1.api.amazonwebservices.com.cn") + .url("https://tax.cn-northwest-1.api.amazonwebservices.com.cn") + .property( + "authSchemes", + vec![::aws_smithy_types::Document::from({ + let mut out = ::std::collections::HashMap::::new(); + out.insert("name".to_string(), "sigv4".to_string().into()); + out.insert("signingRegion".to_string(), "cn-northwest-1".to_string().into()); + out + })] + ) .build() ); } - /// For region cn-north-1 with FIPS disabled and DualStack disabled + /// For region cn-northwest-1 with FIPS disabled and DualStack disabled #[test] - fn test_8() { + fn test_11() { let params = crate::config::endpoint::Params::builder() - .region("cn-north-1".to_string()) + .region("cn-northwest-1".to_string()) .use_fips(false) .use_dual_stack(false) .build() .expect("invalid params"); let resolver = crate::config::endpoint::DefaultResolver::new(); let endpoint = resolver.resolve_endpoint(¶ms); - let endpoint = endpoint.expect("Expected valid endpoint: https://tax.cn-north-1.amazonaws.com.cn"); + let endpoint = endpoint.expect("Expected valid endpoint: https://tax.cn-northwest-1.amazonaws.com.cn"); assert_eq!( endpoint, ::aws_smithy_types::endpoint::Endpoint::builder() - .url("https://tax.cn-north-1.amazonaws.com.cn") + .url("https://tax.cn-northwest-1.amazonaws.com.cn") + .property( + "authSchemes", + vec![::aws_smithy_types::Document::from({ + let mut out = ::std::collections::HashMap::::new(); + out.insert("name".to_string(), "sigv4".to_string().into()); + out.insert("signingRegion".to_string(), "cn-northwest-1".to_string().into()); + out + })] + ) .build() ); } - /// For region us-gov-east-1 with FIPS enabled and DualStack enabled + /// For region us-gov-west-1 with FIPS enabled and DualStack enabled #[test] - fn test_9() { + fn test_12() { let params = crate::config::endpoint::Params::builder() - .region("us-gov-east-1".to_string()) + .region("us-gov-west-1".to_string()) .use_fips(true) .use_dual_stack(true) .build() .expect("invalid params"); let resolver = crate::config::endpoint::DefaultResolver::new(); let endpoint = resolver.resolve_endpoint(¶ms); - let endpoint = endpoint.expect("Expected valid endpoint: https://tax-fips.us-gov-east-1.api.aws"); + let endpoint = endpoint.expect("Expected valid endpoint: https://tax-fips.us-gov-west-1.api.aws"); assert_eq!( endpoint, ::aws_smithy_types::endpoint::Endpoint::builder() - .url("https://tax-fips.us-gov-east-1.api.aws") + .url("https://tax-fips.us-gov-west-1.api.aws") + .property( + "authSchemes", + vec![::aws_smithy_types::Document::from({ + let mut out = ::std::collections::HashMap::::new(); + out.insert("name".to_string(), "sigv4".to_string().into()); + out.insert("signingRegion".to_string(), "us-gov-west-1".to_string().into()); + out + })] + ) .build() ); } - /// For region us-gov-east-1 with FIPS enabled and DualStack disabled + /// For region us-gov-west-1 with FIPS enabled and DualStack disabled #[test] - fn test_10() { + fn test_13() { let params = crate::config::endpoint::Params::builder() - .region("us-gov-east-1".to_string()) + .region("us-gov-west-1".to_string()) .use_fips(true) .use_dual_stack(false) .build() .expect("invalid params"); let resolver = crate::config::endpoint::DefaultResolver::new(); let endpoint = resolver.resolve_endpoint(¶ms); - let endpoint = endpoint.expect("Expected valid endpoint: https://tax-fips.us-gov-east-1.amazonaws.com"); + let endpoint = endpoint.expect("Expected valid endpoint: https://tax-fips.us-gov-west-1.amazonaws.com"); assert_eq!( endpoint, ::aws_smithy_types::endpoint::Endpoint::builder() - .url("https://tax-fips.us-gov-east-1.amazonaws.com") + .url("https://tax-fips.us-gov-west-1.amazonaws.com") + .property( + "authSchemes", + vec![::aws_smithy_types::Document::from({ + let mut out = ::std::collections::HashMap::::new(); + out.insert("name".to_string(), "sigv4".to_string().into()); + out.insert("signingRegion".to_string(), "us-gov-west-1".to_string().into()); + out + })] + ) .build() ); } - /// For region us-gov-east-1 with FIPS disabled and DualStack enabled + /// For region us-gov-west-1 with FIPS disabled and DualStack enabled #[test] - fn test_11() { + fn test_14() { let params = crate::config::endpoint::Params::builder() - .region("us-gov-east-1".to_string()) + .region("us-gov-west-1".to_string()) .use_fips(false) .use_dual_stack(true) .build() .expect("invalid params"); let resolver = crate::config::endpoint::DefaultResolver::new(); let endpoint = resolver.resolve_endpoint(¶ms); - let endpoint = endpoint.expect("Expected valid endpoint: https://tax.us-gov-east-1.api.aws"); + let endpoint = endpoint.expect("Expected valid endpoint: https://tax.us-gov-west-1.api.aws"); assert_eq!( endpoint, ::aws_smithy_types::endpoint::Endpoint::builder() - .url("https://tax.us-gov-east-1.api.aws") + .url("https://tax.us-gov-west-1.api.aws") + .property( + "authSchemes", + vec![::aws_smithy_types::Document::from({ + let mut out = ::std::collections::HashMap::::new(); + out.insert("name".to_string(), "sigv4".to_string().into()); + out.insert("signingRegion".to_string(), "us-gov-west-1".to_string().into()); + out + })] + ) .build() ); } - /// For region us-gov-east-1 with FIPS disabled and DualStack disabled + /// For region us-gov-west-1 with FIPS disabled and DualStack disabled #[test] - fn test_12() { + fn test_15() { let params = crate::config::endpoint::Params::builder() - .region("us-gov-east-1".to_string()) + .region("us-gov-west-1".to_string()) .use_fips(false) .use_dual_stack(false) .build() .expect("invalid params"); let resolver = crate::config::endpoint::DefaultResolver::new(); let endpoint = resolver.resolve_endpoint(¶ms); - let endpoint = endpoint.expect("Expected valid endpoint: https://tax.us-gov-east-1.amazonaws.com"); + let endpoint = endpoint.expect("Expected valid endpoint: https://tax.us-gov-west-1.amazonaws.com"); assert_eq!( endpoint, ::aws_smithy_types::endpoint::Endpoint::builder() - .url("https://tax.us-gov-east-1.amazonaws.com") + .url("https://tax.us-gov-west-1.amazonaws.com") + .property( + "authSchemes", + vec![::aws_smithy_types::Document::from({ + let mut out = ::std::collections::HashMap::::new(); + out.insert("name".to_string(), "sigv4".to_string().into()); + out.insert("signingRegion".to_string(), "us-gov-west-1".to_string().into()); + out + })] + ) .build() ); } /// For region us-iso-east-1 with FIPS enabled and DualStack enabled #[test] - fn test_13() { + fn test_16() { let params = crate::config::endpoint::Params::builder() .region("us-iso-east-1".to_string()) .use_fips(true) @@ -267,7 +425,7 @@ mod test { /// For region us-iso-east-1 with FIPS enabled and DualStack disabled #[test] - fn test_14() { + fn test_17() { let params = crate::config::endpoint::Params::builder() .region("us-iso-east-1".to_string()) .use_fips(true) @@ -281,13 +439,22 @@ mod test { endpoint, ::aws_smithy_types::endpoint::Endpoint::builder() .url("https://tax-fips.us-iso-east-1.c2s.ic.gov") + .property( + "authSchemes", + vec![::aws_smithy_types::Document::from({ + let mut out = ::std::collections::HashMap::::new(); + out.insert("name".to_string(), "sigv4".to_string().into()); + out.insert("signingRegion".to_string(), "us-iso-east-1".to_string().into()); + out + })] + ) .build() ); } /// For region us-iso-east-1 with FIPS disabled and DualStack enabled #[test] - fn test_15() { + fn test_18() { let params = crate::config::endpoint::Params::builder() .region("us-iso-east-1".to_string()) .use_fips(false) @@ -302,7 +469,7 @@ mod test { /// For region us-iso-east-1 with FIPS disabled and DualStack disabled #[test] - fn test_16() { + fn test_19() { let params = crate::config::endpoint::Params::builder() .region("us-iso-east-1".to_string()) .use_fips(false) @@ -316,13 +483,22 @@ mod test { endpoint, ::aws_smithy_types::endpoint::Endpoint::builder() .url("https://tax.us-iso-east-1.c2s.ic.gov") + .property( + "authSchemes", + vec![::aws_smithy_types::Document::from({ + let mut out = ::std::collections::HashMap::::new(); + out.insert("name".to_string(), "sigv4".to_string().into()); + out.insert("signingRegion".to_string(), "us-iso-east-1".to_string().into()); + out + })] + ) .build() ); } /// For region us-isob-east-1 with FIPS enabled and DualStack enabled #[test] - fn test_17() { + fn test_20() { let params = crate::config::endpoint::Params::builder() .region("us-isob-east-1".to_string()) .use_fips(true) @@ -340,7 +516,7 @@ mod test { /// For region us-isob-east-1 with FIPS enabled and DualStack disabled #[test] - fn test_18() { + fn test_21() { let params = crate::config::endpoint::Params::builder() .region("us-isob-east-1".to_string()) .use_fips(true) @@ -354,13 +530,22 @@ mod test { endpoint, ::aws_smithy_types::endpoint::Endpoint::builder() .url("https://tax-fips.us-isob-east-1.sc2s.sgov.gov") + .property( + "authSchemes", + vec![::aws_smithy_types::Document::from({ + let mut out = ::std::collections::HashMap::::new(); + out.insert("name".to_string(), "sigv4".to_string().into()); + out.insert("signingRegion".to_string(), "us-isob-east-1".to_string().into()); + out + })] + ) .build() ); } /// For region us-isob-east-1 with FIPS disabled and DualStack enabled #[test] - fn test_19() { + fn test_22() { let params = crate::config::endpoint::Params::builder() .region("us-isob-east-1".to_string()) .use_fips(false) @@ -375,7 +560,7 @@ mod test { /// For region us-isob-east-1 with FIPS disabled and DualStack disabled #[test] - fn test_20() { + fn test_23() { let params = crate::config::endpoint::Params::builder() .region("us-isob-east-1".to_string()) .use_fips(false) @@ -389,85 +574,204 @@ mod test { endpoint, ::aws_smithy_types::endpoint::Endpoint::builder() .url("https://tax.us-isob-east-1.sc2s.sgov.gov") + .property( + "authSchemes", + vec![::aws_smithy_types::Document::from({ + let mut out = ::std::collections::HashMap::::new(); + out.insert("name".to_string(), "sigv4".to_string().into()); + out.insert("signingRegion".to_string(), "us-isob-east-1".to_string().into()); + out + })] + ) .build() ); } - /// For custom endpoint with region set and fips disabled and dualstack disabled + /// For region eu-isoe-west-1 with FIPS enabled and DualStack enabled #[test] - fn test_21() { + fn test_24() { let params = crate::config::endpoint::Params::builder() - .region("us-east-1".to_string()) - .use_fips(false) + .region("eu-isoe-west-1".to_string()) + .use_fips(true) + .use_dual_stack(true) + .build() + .expect("invalid params"); + let resolver = crate::config::endpoint::DefaultResolver::new(); + let endpoint = resolver.resolve_endpoint(¶ms); + let error = endpoint.expect_err("expected error: FIPS and DualStack are enabled, but this partition does not support one or both [For region eu-isoe-west-1 with FIPS enabled and DualStack enabled]"); + assert_eq!( + format!("{}", error), + "FIPS and DualStack are enabled, but this partition does not support one or both" + ) + } + + /// For region eu-isoe-west-1 with FIPS enabled and DualStack disabled + #[test] + fn test_25() { + let params = crate::config::endpoint::Params::builder() + .region("eu-isoe-west-1".to_string()) + .use_fips(true) .use_dual_stack(false) - .endpoint("https://example.com".to_string()) .build() .expect("invalid params"); let resolver = crate::config::endpoint::DefaultResolver::new(); let endpoint = resolver.resolve_endpoint(¶ms); - let endpoint = endpoint.expect("Expected valid endpoint: https://example.com"); + let endpoint = endpoint.expect("Expected valid endpoint: https://tax-fips.eu-isoe-west-1.cloud.adc-e.uk"); assert_eq!( endpoint, - ::aws_smithy_types::endpoint::Endpoint::builder().url("https://example.com").build() + ::aws_smithy_types::endpoint::Endpoint::builder() + .url("https://tax-fips.eu-isoe-west-1.cloud.adc-e.uk") + .property( + "authSchemes", + vec![::aws_smithy_types::Document::from({ + let mut out = ::std::collections::HashMap::::new(); + out.insert("name".to_string(), "sigv4".to_string().into()); + out.insert("signingRegion".to_string(), "eu-isoe-west-1".to_string().into()); + out + })] + ) + .build() ); } - /// For custom endpoint with region not set and fips disabled and dualstack disabled + /// For region eu-isoe-west-1 with FIPS disabled and DualStack enabled #[test] - fn test_22() { + fn test_26() { + let params = crate::config::endpoint::Params::builder() + .region("eu-isoe-west-1".to_string()) + .use_fips(false) + .use_dual_stack(true) + .build() + .expect("invalid params"); + let resolver = crate::config::endpoint::DefaultResolver::new(); + let endpoint = resolver.resolve_endpoint(¶ms); + let error = endpoint.expect_err("expected error: DualStack is enabled but this partition does not support DualStack [For region eu-isoe-west-1 with FIPS disabled and DualStack enabled]"); + assert_eq!(format!("{}", error), "DualStack is enabled but this partition does not support DualStack") + } + + /// For region eu-isoe-west-1 with FIPS disabled and DualStack disabled + #[test] + fn test_27() { let params = crate::config::endpoint::Params::builder() + .region("eu-isoe-west-1".to_string()) .use_fips(false) .use_dual_stack(false) - .endpoint("https://example.com".to_string()) .build() .expect("invalid params"); let resolver = crate::config::endpoint::DefaultResolver::new(); let endpoint = resolver.resolve_endpoint(¶ms); - let endpoint = endpoint.expect("Expected valid endpoint: https://example.com"); + let endpoint = endpoint.expect("Expected valid endpoint: https://tax.eu-isoe-west-1.cloud.adc-e.uk"); assert_eq!( endpoint, - ::aws_smithy_types::endpoint::Endpoint::builder().url("https://example.com").build() + ::aws_smithy_types::endpoint::Endpoint::builder() + .url("https://tax.eu-isoe-west-1.cloud.adc-e.uk") + .property( + "authSchemes", + vec![::aws_smithy_types::Document::from({ + let mut out = ::std::collections::HashMap::::new(); + out.insert("name".to_string(), "sigv4".to_string().into()); + out.insert("signingRegion".to_string(), "eu-isoe-west-1".to_string().into()); + out + })] + ) + .build() ); } - /// For custom endpoint with fips enabled and dualstack disabled + /// For region us-isof-south-1 with FIPS enabled and DualStack enabled #[test] - fn test_23() { + fn test_28() { let params = crate::config::endpoint::Params::builder() - .region("us-east-1".to_string()) + .region("us-isof-south-1".to_string()) + .use_fips(true) + .use_dual_stack(true) + .build() + .expect("invalid params"); + let resolver = crate::config::endpoint::DefaultResolver::new(); + let endpoint = resolver.resolve_endpoint(¶ms); + let error = endpoint.expect_err("expected error: FIPS and DualStack are enabled, but this partition does not support one or both [For region us-isof-south-1 with FIPS enabled and DualStack enabled]"); + assert_eq!( + format!("{}", error), + "FIPS and DualStack are enabled, but this partition does not support one or both" + ) + } + + /// For region us-isof-south-1 with FIPS enabled and DualStack disabled + #[test] + fn test_29() { + let params = crate::config::endpoint::Params::builder() + .region("us-isof-south-1".to_string()) .use_fips(true) .use_dual_stack(false) - .endpoint("https://example.com".to_string()) .build() .expect("invalid params"); let resolver = crate::config::endpoint::DefaultResolver::new(); let endpoint = resolver.resolve_endpoint(¶ms); - let error = endpoint.expect_err("expected error: Invalid Configuration: FIPS and custom endpoint are not supported [For custom endpoint with fips enabled and dualstack disabled]"); - assert_eq!(format!("{}", error), "Invalid Configuration: FIPS and custom endpoint are not supported") + let endpoint = endpoint.expect("Expected valid endpoint: https://tax-fips.us-isof-south-1.csp.hci.ic.gov"); + assert_eq!( + endpoint, + ::aws_smithy_types::endpoint::Endpoint::builder() + .url("https://tax-fips.us-isof-south-1.csp.hci.ic.gov") + .property( + "authSchemes", + vec![::aws_smithy_types::Document::from({ + let mut out = ::std::collections::HashMap::::new(); + out.insert("name".to_string(), "sigv4".to_string().into()); + out.insert("signingRegion".to_string(), "us-isof-south-1".to_string().into()); + out + })] + ) + .build() + ); } - /// For custom endpoint with fips disabled and dualstack enabled + /// For region us-isof-south-1 with FIPS disabled and DualStack enabled #[test] - fn test_24() { + fn test_30() { let params = crate::config::endpoint::Params::builder() - .region("us-east-1".to_string()) + .region("us-isof-south-1".to_string()) .use_fips(false) .use_dual_stack(true) - .endpoint("https://example.com".to_string()) .build() .expect("invalid params"); let resolver = crate::config::endpoint::DefaultResolver::new(); let endpoint = resolver.resolve_endpoint(¶ms); - let error = endpoint.expect_err("expected error: Invalid Configuration: Dualstack and custom endpoint are not supported [For custom endpoint with fips disabled and dualstack enabled]"); + let error = endpoint.expect_err("expected error: DualStack is enabled but this partition does not support DualStack [For region us-isof-south-1 with FIPS disabled and DualStack enabled]"); + assert_eq!(format!("{}", error), "DualStack is enabled but this partition does not support DualStack") + } + + /// For region us-isof-south-1 with FIPS disabled and DualStack disabled + #[test] + fn test_31() { + let params = crate::config::endpoint::Params::builder() + .region("us-isof-south-1".to_string()) + .use_fips(false) + .use_dual_stack(false) + .build() + .expect("invalid params"); + let resolver = crate::config::endpoint::DefaultResolver::new(); + let endpoint = resolver.resolve_endpoint(¶ms); + let endpoint = endpoint.expect("Expected valid endpoint: https://tax.us-isof-south-1.csp.hci.ic.gov"); assert_eq!( - format!("{}", error), - "Invalid Configuration: Dualstack and custom endpoint are not supported" - ) + endpoint, + ::aws_smithy_types::endpoint::Endpoint::builder() + .url("https://tax.us-isof-south-1.csp.hci.ic.gov") + .property( + "authSchemes", + vec![::aws_smithy_types::Document::from({ + let mut out = ::std::collections::HashMap::::new(); + out.insert("name".to_string(), "sigv4".to_string().into()); + out.insert("signingRegion".to_string(), "us-isof-south-1".to_string().into()); + out + })] + ) + .build() + ); } /// Missing region #[test] - fn test_25() { + fn test_32() { let params = crate::config::endpoint::Params::builder().build().expect("invalid params"); let resolver = crate::config::endpoint::DefaultResolver::new(); let endpoint = resolver.resolve_endpoint(¶ms); @@ -546,24 +850,20 @@ impl crate::config::endpoint::ResolveEndpoint for DefaultResolver { #[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)] /// Configuration parameters for resolving the correct endpoint pub struct Params { - /// The AWS region used to dispatch the request. - pub(crate) region: ::std::option::Option<::std::string::String>, /// When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error. pub(crate) use_dual_stack: bool, /// When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error. pub(crate) use_fips: bool, /// Override the endpoint used to send this request pub(crate) endpoint: ::std::option::Option<::std::string::String>, + /// The AWS region used to dispatch the request. + pub(crate) region: ::std::option::Option<::std::string::String>, } impl Params { /// Create a builder for [`Params`] pub fn builder() -> crate::config::endpoint::ParamsBuilder { crate::config::endpoint::ParamsBuilder::default() } - /// The AWS region used to dispatch the request. - pub fn region(&self) -> ::std::option::Option<&str> { - self.region.as_deref() - } /// When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error. pub fn use_dual_stack(&self) -> ::std::option::Option { Some(self.use_dual_stack) @@ -576,15 +876,19 @@ impl Params { pub fn endpoint(&self) -> ::std::option::Option<&str> { self.endpoint.as_deref() } + /// The AWS region used to dispatch the request. + pub fn region(&self) -> ::std::option::Option<&str> { + self.region.as_deref() + } } /// Builder for [`Params`] #[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)] pub struct ParamsBuilder { - region: ::std::option::Option<::std::string::String>, use_dual_stack: ::std::option::Option, use_fips: ::std::option::Option, endpoint: ::std::option::Option<::std::string::String>, + region: ::std::option::Option<::std::string::String>, } impl ParamsBuilder { /// Consume this builder, creating [`Params`]. @@ -592,7 +896,6 @@ impl ParamsBuilder { Ok( #[allow(clippy::unnecessary_lazy_evaluations)] crate::config::endpoint::Params { - region: self.region, use_dual_stack: self .use_dual_stack .or_else(|| Some(false)) @@ -602,24 +905,10 @@ impl ParamsBuilder { .or_else(|| Some(false)) .ok_or_else(|| crate::config::endpoint::InvalidParams::missing("use_fips"))?, endpoint: self.endpoint, + region: self.region, }, ) } - /// Sets the value for region - /// - /// The AWS region used to dispatch the request. - pub fn region(mut self, value: impl Into<::std::string::String>) -> Self { - self.region = Some(value.into()); - self - } - - /// Sets the value for region - /// - /// The AWS region used to dispatch the request. - pub fn set_region(mut self, param: Option<::std::string::String>) -> Self { - self.region = param; - self - } /// Sets the value for use_dual_stack /// /// When unset, this parameter has a default value of `false`. @@ -669,6 +958,21 @@ impl ParamsBuilder { self.endpoint = param; self } + /// Sets the value for region + /// + /// The AWS region used to dispatch the request. + pub fn region(mut self, value: impl Into<::std::string::String>) -> Self { + self.region = Some(value.into()); + self + } + + /// Sets the value for region + /// + /// The AWS region used to dispatch the request. + pub fn set_region(mut self, param: Option<::std::string::String>) -> Self { + self.region = param; + self + } } /// An error that occurred during endpoint resolution diff --git a/sdk/taxsettings/src/config/endpoint/internals.rs b/sdk/taxsettings/src/config/endpoint/internals.rs index 7c596cb30415..83c920899bfb 100644 --- a/sdk/taxsettings/src/config/endpoint/internals.rs +++ b/sdk/taxsettings/src/config/endpoint/internals.rs @@ -11,8 +11,6 @@ pub(super) fn resolve_endpoint( _diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector, partition_resolver: &crate::endpoint_lib::partition::PartitionResolver, ) -> ::aws_smithy_http::endpoint::Result { - #[allow(unused_variables)] - let region = &_params.region; #[allow(unused_variables)] let use_dual_stack = &_params.use_dual_stack; #[allow(unused_variables)] @@ -20,6 +18,8 @@ pub(super) fn resolve_endpoint( #[allow(unused_variables)] let endpoint = &_params.endpoint; #[allow(unused_variables)] + let region = &_params.region; + #[allow(unused_variables)] if let Some(endpoint) = endpoint { if (*use_fips) == (true) { return Err(::aws_smithy_http::endpoint::ResolveEndpointError::message( @@ -46,12 +46,21 @@ pub(super) fn resolve_endpoint( let mut out = String::new(); out.push_str("https://tax-fips."); #[allow(clippy::needless_borrow)] - out.push_str(®ion); + out.push_str(&partition_result.implicit_global_region()); out.push('.'); #[allow(clippy::needless_borrow)] out.push_str(&partition_result.dual_stack_dns_suffix()); out }) + .property( + "authSchemes", + vec![::aws_smithy_types::Document::from({ + let mut out = ::std::collections::HashMap::::new(); + out.insert("name".to_string(), "sigv4".to_string().into()); + out.insert("signingRegion".to_string(), partition_result.implicit_global_region().to_owned().into()); + out + })], + ) .build()); } } @@ -61,54 +70,85 @@ pub(super) fn resolve_endpoint( } } if (*use_fips) == (true) { - if (partition_result.supports_fips()) == (true) { - return Ok(::aws_smithy_types::endpoint::Endpoint::builder() - .url({ - let mut out = String::new(); - out.push_str("https://tax-fips."); - #[allow(clippy::needless_borrow)] - out.push_str(®ion); - out.push('.'); - #[allow(clippy::needless_borrow)] - out.push_str(&partition_result.dns_suffix()); - out - }) - .build()); + if (*use_dual_stack) == (false) { + if (partition_result.supports_fips()) == (true) { + return Ok(::aws_smithy_types::endpoint::Endpoint::builder() + .url({ + let mut out = String::new(); + out.push_str("https://tax-fips."); + #[allow(clippy::needless_borrow)] + out.push_str(&partition_result.implicit_global_region()); + out.push('.'); + #[allow(clippy::needless_borrow)] + out.push_str(&partition_result.dns_suffix()); + out + }) + .property( + "authSchemes", + vec![::aws_smithy_types::Document::from({ + let mut out = ::std::collections::HashMap::::new(); + out.insert("name".to_string(), "sigv4".to_string().into()); + out.insert("signingRegion".to_string(), partition_result.implicit_global_region().to_owned().into()); + out + })], + ) + .build()); + } + return Err(::aws_smithy_http::endpoint::ResolveEndpointError::message( + "FIPS is enabled but this partition does not support FIPS".to_string(), + )); } - return Err(::aws_smithy_http::endpoint::ResolveEndpointError::message( - "FIPS is enabled but this partition does not support FIPS".to_string(), - )); } - if (*use_dual_stack) == (true) { - if (true) == (partition_result.supports_dual_stack()) { - return Ok(::aws_smithy_types::endpoint::Endpoint::builder() - .url({ - let mut out = String::new(); - out.push_str("https://tax."); - #[allow(clippy::needless_borrow)] - out.push_str(®ion); - out.push('.'); - #[allow(clippy::needless_borrow)] - out.push_str(&partition_result.dual_stack_dns_suffix()); - out - }) - .build()); + if (*use_fips) == (false) { + if (*use_dual_stack) == (true) { + if (true) == (partition_result.supports_dual_stack()) { + return Ok(::aws_smithy_types::endpoint::Endpoint::builder() + .url({ + let mut out = String::new(); + out.push_str("https://tax."); + #[allow(clippy::needless_borrow)] + out.push_str(&partition_result.implicit_global_region()); + out.push('.'); + #[allow(clippy::needless_borrow)] + out.push_str(&partition_result.dual_stack_dns_suffix()); + out + }) + .property( + "authSchemes", + vec![::aws_smithy_types::Document::from({ + let mut out = ::std::collections::HashMap::::new(); + out.insert("name".to_string(), "sigv4".to_string().into()); + out.insert("signingRegion".to_string(), partition_result.implicit_global_region().to_owned().into()); + out + })], + ) + .build()); + } + return Err(::aws_smithy_http::endpoint::ResolveEndpointError::message( + "DualStack is enabled but this partition does not support DualStack".to_string(), + )); } - return Err(::aws_smithy_http::endpoint::ResolveEndpointError::message( - "DualStack is enabled but this partition does not support DualStack".to_string(), - )); } return Ok(::aws_smithy_types::endpoint::Endpoint::builder() .url({ let mut out = String::new(); out.push_str("https://tax."); #[allow(clippy::needless_borrow)] - out.push_str(®ion); + out.push_str(&partition_result.implicit_global_region()); out.push('.'); #[allow(clippy::needless_borrow)] out.push_str(&partition_result.dns_suffix()); out }) + .property( + "authSchemes", + vec![::aws_smithy_types::Document::from({ + let mut out = ::std::collections::HashMap::::new(); + out.insert("name".to_string(), "sigv4".to_string().into()); + out.insert("signingRegion".to_string(), partition_result.implicit_global_region().to_owned().into()); + out + })], + ) .build()); } #[allow(unreachable_code)] diff --git a/sdk/taxsettings/src/lib.rs b/sdk/taxsettings/src/lib.rs index db3f31fbd692..e531ddb484a9 100644 --- a/sdk/taxsettings/src/lib.rs +++ b/sdk/taxsettings/src/lib.rs @@ -36,7 +36,7 @@ //! ```toml //! [dependencies] //! aws-config = { version = "1.1.7", features = ["behavior-version-latest"] } -//! aws-sdk-taxsettings = "1.6.0" +//! aws-sdk-taxsettings = "1.7.0" //! tokio = { version = "1", features = ["full"] } //! ``` //! diff --git a/sdk/taxsettings/src/operation/batch_delete_tax_registration.rs b/sdk/taxsettings/src/operation/batch_delete_tax_registration.rs index d8b11014e991..fcea9fd9cdee 100644 --- a/sdk/taxsettings/src/operation/batch_delete_tax_registration.rs +++ b/sdk/taxsettings/src/operation/batch_delete_tax_registration.rs @@ -231,10 +231,10 @@ impl ::aws_smithy_runtime_api::client::interceptors::Intercept for BatchDeleteTa .ok_or("failed to downcast to BatchDeleteTaxRegistrationInput")?; let params = crate::config::endpoint::Params::builder() - .set_region(cfg.load::<::aws_types::region::Region>().map(|r| r.as_ref().to_owned())) .set_use_dual_stack(cfg.load::<::aws_types::endpoint_config::UseDualStack>().map(|ty| ty.0)) .set_use_fips(cfg.load::<::aws_types::endpoint_config::UseFips>().map(|ty| ty.0)) .set_endpoint(cfg.load::<::aws_types::endpoint_config::EndpointUrl>().map(|ty| ty.0.clone())) + .set_region(cfg.load::<::aws_types::region::Region>().map(|r| r.as_ref().to_owned())) .build() .map_err(|err| { ::aws_smithy_runtime_api::client::interceptors::error::ContextAttachedError::new("endpoint params could not be built", err) diff --git a/sdk/taxsettings/src/operation/batch_put_tax_registration.rs b/sdk/taxsettings/src/operation/batch_put_tax_registration.rs index 9bb25dee1b82..498a5712cdd4 100644 --- a/sdk/taxsettings/src/operation/batch_put_tax_registration.rs +++ b/sdk/taxsettings/src/operation/batch_put_tax_registration.rs @@ -231,10 +231,10 @@ impl ::aws_smithy_runtime_api::client::interceptors::Intercept for BatchPutTaxRe .ok_or("failed to downcast to BatchPutTaxRegistrationInput")?; let params = crate::config::endpoint::Params::builder() - .set_region(cfg.load::<::aws_types::region::Region>().map(|r| r.as_ref().to_owned())) .set_use_dual_stack(cfg.load::<::aws_types::endpoint_config::UseDualStack>().map(|ty| ty.0)) .set_use_fips(cfg.load::<::aws_types::endpoint_config::UseFips>().map(|ty| ty.0)) .set_endpoint(cfg.load::<::aws_types::endpoint_config::EndpointUrl>().map(|ty| ty.0.clone())) + .set_region(cfg.load::<::aws_types::region::Region>().map(|r| r.as_ref().to_owned())) .build() .map_err(|err| { ::aws_smithy_runtime_api::client::interceptors::error::ContextAttachedError::new("endpoint params could not be built", err) diff --git a/sdk/taxsettings/src/operation/delete_tax_registration.rs b/sdk/taxsettings/src/operation/delete_tax_registration.rs index 31761229761c..e17ca099301e 100644 --- a/sdk/taxsettings/src/operation/delete_tax_registration.rs +++ b/sdk/taxsettings/src/operation/delete_tax_registration.rs @@ -224,10 +224,10 @@ impl ::aws_smithy_runtime_api::client::interceptors::Intercept for DeleteTaxRegi .ok_or("failed to downcast to DeleteTaxRegistrationInput")?; let params = crate::config::endpoint::Params::builder() - .set_region(cfg.load::<::aws_types::region::Region>().map(|r| r.as_ref().to_owned())) .set_use_dual_stack(cfg.load::<::aws_types::endpoint_config::UseDualStack>().map(|ty| ty.0)) .set_use_fips(cfg.load::<::aws_types::endpoint_config::UseFips>().map(|ty| ty.0)) .set_endpoint(cfg.load::<::aws_types::endpoint_config::EndpointUrl>().map(|ty| ty.0.clone())) + .set_region(cfg.load::<::aws_types::region::Region>().map(|r| r.as_ref().to_owned())) .build() .map_err(|err| { ::aws_smithy_runtime_api::client::interceptors::error::ContextAttachedError::new("endpoint params could not be built", err) diff --git a/sdk/taxsettings/src/operation/get_tax_registration.rs b/sdk/taxsettings/src/operation/get_tax_registration.rs index c0b6e0ca27cf..e50bf0393825 100644 --- a/sdk/taxsettings/src/operation/get_tax_registration.rs +++ b/sdk/taxsettings/src/operation/get_tax_registration.rs @@ -224,10 +224,10 @@ impl ::aws_smithy_runtime_api::client::interceptors::Intercept for GetTaxRegistr .ok_or("failed to downcast to GetTaxRegistrationInput")?; let params = crate::config::endpoint::Params::builder() - .set_region(cfg.load::<::aws_types::region::Region>().map(|r| r.as_ref().to_owned())) .set_use_dual_stack(cfg.load::<::aws_types::endpoint_config::UseDualStack>().map(|ty| ty.0)) .set_use_fips(cfg.load::<::aws_types::endpoint_config::UseFips>().map(|ty| ty.0)) .set_endpoint(cfg.load::<::aws_types::endpoint_config::EndpointUrl>().map(|ty| ty.0.clone())) + .set_region(cfg.load::<::aws_types::region::Region>().map(|r| r.as_ref().to_owned())) .build() .map_err(|err| { ::aws_smithy_runtime_api::client::interceptors::error::ContextAttachedError::new("endpoint params could not be built", err) diff --git a/sdk/taxsettings/src/operation/get_tax_registration_document.rs b/sdk/taxsettings/src/operation/get_tax_registration_document.rs index 05246cfa64b7..cd90571cc4d2 100644 --- a/sdk/taxsettings/src/operation/get_tax_registration_document.rs +++ b/sdk/taxsettings/src/operation/get_tax_registration_document.rs @@ -230,10 +230,10 @@ impl ::aws_smithy_runtime_api::client::interceptors::Intercept for GetTaxRegistr .ok_or("failed to downcast to GetTaxRegistrationDocumentInput")?; let params = crate::config::endpoint::Params::builder() - .set_region(cfg.load::<::aws_types::region::Region>().map(|r| r.as_ref().to_owned())) .set_use_dual_stack(cfg.load::<::aws_types::endpoint_config::UseDualStack>().map(|ty| ty.0)) .set_use_fips(cfg.load::<::aws_types::endpoint_config::UseFips>().map(|ty| ty.0)) .set_endpoint(cfg.load::<::aws_types::endpoint_config::EndpointUrl>().map(|ty| ty.0.clone())) + .set_region(cfg.load::<::aws_types::region::Region>().map(|r| r.as_ref().to_owned())) .build() .map_err(|err| { ::aws_smithy_runtime_api::client::interceptors::error::ContextAttachedError::new("endpoint params could not be built", err) diff --git a/sdk/taxsettings/src/operation/list_tax_registrations.rs b/sdk/taxsettings/src/operation/list_tax_registrations.rs index f99dc9bb6e7b..08004b7c6691 100644 --- a/sdk/taxsettings/src/operation/list_tax_registrations.rs +++ b/sdk/taxsettings/src/operation/list_tax_registrations.rs @@ -225,10 +225,10 @@ impl ::aws_smithy_runtime_api::client::interceptors::Intercept for ListTaxRegist .ok_or("failed to downcast to ListTaxRegistrationsInput")?; let params = crate::config::endpoint::Params::builder() - .set_region(cfg.load::<::aws_types::region::Region>().map(|r| r.as_ref().to_owned())) .set_use_dual_stack(cfg.load::<::aws_types::endpoint_config::UseDualStack>().map(|ty| ty.0)) .set_use_fips(cfg.load::<::aws_types::endpoint_config::UseFips>().map(|ty| ty.0)) .set_endpoint(cfg.load::<::aws_types::endpoint_config::EndpointUrl>().map(|ty| ty.0.clone())) + .set_region(cfg.load::<::aws_types::region::Region>().map(|r| r.as_ref().to_owned())) .build() .map_err(|err| { ::aws_smithy_runtime_api::client::interceptors::error::ContextAttachedError::new("endpoint params could not be built", err) diff --git a/sdk/taxsettings/src/operation/put_tax_registration.rs b/sdk/taxsettings/src/operation/put_tax_registration.rs index 3ea46177f23a..16ffbf706bf6 100644 --- a/sdk/taxsettings/src/operation/put_tax_registration.rs +++ b/sdk/taxsettings/src/operation/put_tax_registration.rs @@ -223,10 +223,10 @@ impl ::aws_smithy_runtime_api::client::interceptors::Intercept for PutTaxRegistr .ok_or("failed to downcast to PutTaxRegistrationInput")?; let params = crate::config::endpoint::Params::builder() - .set_region(cfg.load::<::aws_types::region::Region>().map(|r| r.as_ref().to_owned())) .set_use_dual_stack(cfg.load::<::aws_types::endpoint_config::UseDualStack>().map(|ty| ty.0)) .set_use_fips(cfg.load::<::aws_types::endpoint_config::UseFips>().map(|ty| ty.0)) .set_endpoint(cfg.load::<::aws_types::endpoint_config::EndpointUrl>().map(|ty| ty.0.clone())) + .set_region(cfg.load::<::aws_types::region::Region>().map(|r| r.as_ref().to_owned())) .build() .map_err(|err| { ::aws_smithy_runtime_api::client::interceptors::error::ContextAttachedError::new("endpoint params could not be built", err) diff --git a/sdk/timestreamquery/Cargo.toml b/sdk/timestreamquery/Cargo.toml index 4a2dc52ce4bd..35f59533abad 100644 --- a/sdk/timestreamquery/Cargo.toml +++ b/sdk/timestreamquery/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-timestreamquery" -version = "1.36.0" +version = "1.36.1" authors = ["AWS Rust SDK Team ", "Russell Cohen "] description = "AWS SDK for Amazon Timestream Query" edition = "2021" diff --git a/sdk/timestreamquery/README.md b/sdk/timestreamquery/README.md index b68b0c51dade..de04a2d0083f 100644 --- a/sdk/timestreamquery/README.md +++ b/sdk/timestreamquery/README.md @@ -12,7 +12,7 @@ your project, add the following to your **Cargo.toml** file: ```toml [dependencies] aws-config = { version = "1.1.7", features = ["behavior-version-latest"] } -aws-sdk-timestreamquery = "1.36.0" +aws-sdk-timestreamquery = "1.36.1" tokio = { version = "1", features = ["full"] } ``` diff --git a/sdk/timestreamquery/src/client/update_account_settings.rs b/sdk/timestreamquery/src/client/update_account_settings.rs index 1c300e8ec6df..3d3defa5af0a 100644 --- a/sdk/timestreamquery/src/client/update_account_settings.rs +++ b/sdk/timestreamquery/src/client/update_account_settings.rs @@ -4,7 +4,7 @@ impl super::Client { /// /// - The fluent builder is configurable: /// - [`max_query_tcu(i32)`](crate::operation::update_account_settings::builders::UpdateAccountSettingsFluentBuilder::max_query_tcu) / [`set_max_query_tcu(Option)`](crate::operation::update_account_settings::builders::UpdateAccountSettingsFluentBuilder::set_max_query_tcu):
                required: **false**

                The maximum number of compute units the service will use at any point in time to serve your queries. To run queries, you must set a minimum capacity of 4 TCU. You can set the maximum number of TCU in multiples of 4, for example, 4, 8, 16, 32, and so on.

                The maximum value supported for MaxQueryTCU is 1000. To request an increase to this soft limit, contact Amazon Web Services Support. For information about the default quota for maxQueryTCU, see Default quotas.


                - /// - [`query_pricing_model(QueryPricingModel)`](crate::operation::update_account_settings::builders::UpdateAccountSettingsFluentBuilder::query_pricing_model) / [`set_query_pricing_model(Option)`](crate::operation::update_account_settings::builders::UpdateAccountSettingsFluentBuilder::set_query_pricing_model):
                required: **false**

                The pricing model for queries in an account.


                + /// - [`query_pricing_model(QueryPricingModel)`](crate::operation::update_account_settings::builders::UpdateAccountSettingsFluentBuilder::query_pricing_model) / [`set_query_pricing_model(Option)`](crate::operation::update_account_settings::builders::UpdateAccountSettingsFluentBuilder::set_query_pricing_model):
                required: **false**

                The pricing model for queries in an account.

                The QueryPricingModel parameter is used by several Timestream operations; however, the UpdateAccountSettings API operation doesn't recognize any values other than COMPUTE_UNITS.


                /// - On success, responds with [`UpdateAccountSettingsOutput`](crate::operation::update_account_settings::UpdateAccountSettingsOutput) with field(s): /// - [`max_query_tcu(Option)`](crate::operation::update_account_settings::UpdateAccountSettingsOutput::max_query_tcu):

                The configured maximum number of compute units the service will use at any point in time to serve your queries.

                /// - [`query_pricing_model(Option)`](crate::operation::update_account_settings::UpdateAccountSettingsOutput::query_pricing_model):

                The pricing model for an account.

                diff --git a/sdk/timestreamquery/src/lib.rs b/sdk/timestreamquery/src/lib.rs index f299d5f5d9dd..e208f034be14 100644 --- a/sdk/timestreamquery/src/lib.rs +++ b/sdk/timestreamquery/src/lib.rs @@ -29,7 +29,7 @@ //! ```toml //! [dependencies] //! aws-config = { version = "1.1.7", features = ["behavior-version-latest"] } -//! aws-sdk-timestreamquery = "1.36.0" +//! aws-sdk-timestreamquery = "1.36.1" //! tokio = { version = "1", features = ["full"] } //! ``` //! diff --git a/sdk/timestreamquery/src/operation/update_account_settings/_update_account_settings_input.rs b/sdk/timestreamquery/src/operation/update_account_settings/_update_account_settings_input.rs index bfa4253e81ae..53b60935411c 100644 --- a/sdk/timestreamquery/src/operation/update_account_settings/_update_account_settings_input.rs +++ b/sdk/timestreamquery/src/operation/update_account_settings/_update_account_settings_input.rs @@ -6,7 +6,9 @@ pub struct UpdateAccountSettingsInput { ///

                The maximum number of compute units the service will use at any point in time to serve your queries. To run queries, you must set a minimum capacity of 4 TCU. You can set the maximum number of TCU in multiples of 4, for example, 4, 8, 16, 32, and so on.

                ///

                The maximum value supported for MaxQueryTCU is 1000. To request an increase to this soft limit, contact Amazon Web Services Support. For information about the default quota for maxQueryTCU, see Default quotas.

                pub max_query_tcu: ::std::option::Option, - ///

                The pricing model for queries in an account.

                + ///

                The pricing model for queries in an account.

                + ///

                The QueryPricingModel parameter is used by several Timestream operations; however, the UpdateAccountSettings API operation doesn't recognize any values other than COMPUTE_UNITS.

                + ///
                pub query_pricing_model: ::std::option::Option, } impl UpdateAccountSettingsInput { @@ -15,7 +17,9 @@ impl UpdateAccountSettingsInput { pub fn max_query_tcu(&self) -> ::std::option::Option { self.max_query_tcu } - ///

                The pricing model for queries in an account.

                + ///

                The pricing model for queries in an account.

                + ///

                The QueryPricingModel parameter is used by several Timestream operations; however, the UpdateAccountSettings API operation doesn't recognize any values other than COMPUTE_UNITS.

                + ///
                pub fn query_pricing_model(&self) -> ::std::option::Option<&crate::types::QueryPricingModel> { self.query_pricing_model.as_ref() } @@ -52,17 +56,23 @@ impl UpdateAccountSettingsInputBuilder { pub fn get_max_query_tcu(&self) -> &::std::option::Option { &self.max_query_tcu } - ///

                The pricing model for queries in an account.

                + ///

                The pricing model for queries in an account.

                + ///

                The QueryPricingModel parameter is used by several Timestream operations; however, the UpdateAccountSettings API operation doesn't recognize any values other than COMPUTE_UNITS.

                + ///
                pub fn query_pricing_model(mut self, input: crate::types::QueryPricingModel) -> Self { self.query_pricing_model = ::std::option::Option::Some(input); self } - ///

                The pricing model for queries in an account.

                + ///

                The pricing model for queries in an account.

                + ///

                The QueryPricingModel parameter is used by several Timestream operations; however, the UpdateAccountSettings API operation doesn't recognize any values other than COMPUTE_UNITS.

                + ///
                pub fn set_query_pricing_model(mut self, input: ::std::option::Option) -> Self { self.query_pricing_model = input; self } - ///

                The pricing model for queries in an account.

                + ///

                The pricing model for queries in an account.

                + ///

                The QueryPricingModel parameter is used by several Timestream operations; however, the UpdateAccountSettings API operation doesn't recognize any values other than COMPUTE_UNITS.

                + ///
                pub fn get_query_pricing_model(&self) -> &::std::option::Option { &self.query_pricing_model } diff --git a/sdk/timestreamquery/src/operation/update_account_settings/builders.rs b/sdk/timestreamquery/src/operation/update_account_settings/builders.rs index aa0558f4c16f..337e130767a1 100644 --- a/sdk/timestreamquery/src/operation/update_account_settings/builders.rs +++ b/sdk/timestreamquery/src/operation/update_account_settings/builders.rs @@ -127,17 +127,23 @@ impl UpdateAccountSettingsFluentBuilder { pub fn get_max_query_tcu(&self) -> &::std::option::Option { self.inner.get_max_query_tcu() } - ///

                The pricing model for queries in an account.

                + ///

                The pricing model for queries in an account.

                + ///

                The QueryPricingModel parameter is used by several Timestream operations; however, the UpdateAccountSettings API operation doesn't recognize any values other than COMPUTE_UNITS.

                + ///
                pub fn query_pricing_model(mut self, input: crate::types::QueryPricingModel) -> Self { self.inner = self.inner.query_pricing_model(input); self } - ///

                The pricing model for queries in an account.

                + ///

                The pricing model for queries in an account.

                + ///

                The QueryPricingModel parameter is used by several Timestream operations; however, the UpdateAccountSettings API operation doesn't recognize any values other than COMPUTE_UNITS.

                + ///
                pub fn set_query_pricing_model(mut self, input: ::std::option::Option) -> Self { self.inner = self.inner.set_query_pricing_model(input); self } - ///

                The pricing model for queries in an account.

                + ///

                The pricing model for queries in an account.

                + ///

                The QueryPricingModel parameter is used by several Timestream operations; however, the UpdateAccountSettings API operation doesn't recognize any values other than COMPUTE_UNITS.

                + ///
                pub fn get_query_pricing_model(&self) -> &::std::option::Option { self.inner.get_query_pricing_model() } diff --git a/sdk/workspacesthinclient/Cargo.toml b/sdk/workspacesthinclient/Cargo.toml index c412f9e9bd65..0f9721eb87e1 100644 --- a/sdk/workspacesthinclient/Cargo.toml +++ b/sdk/workspacesthinclient/Cargo.toml @@ -1,7 +1,7 @@ # Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT. [package] name = "aws-sdk-workspacesthinclient" -version = "1.36.0" +version = "1.36.1" authors = ["AWS Rust SDK Team ", "Russell Cohen "] description = "AWS SDK for Amazon WorkSpaces Thin Client" edition = "2021" diff --git a/sdk/workspacesthinclient/README.md b/sdk/workspacesthinclient/README.md index af7409062c63..53371ec2158b 100644 --- a/sdk/workspacesthinclient/README.md +++ b/sdk/workspacesthinclient/README.md @@ -16,7 +16,7 @@ your project, add the following to your **Cargo.toml** file: ```toml [dependencies] aws-config = { version = "1.1.7", features = ["behavior-version-latest"] } -aws-sdk-workspacesthinclient = "1.36.0" +aws-sdk-workspacesthinclient = "1.36.1" tokio = { version = "1", features = ["full"] } ``` diff --git a/sdk/workspacesthinclient/src/lib.rs b/sdk/workspacesthinclient/src/lib.rs index 0a4aa8255fe7..2a9804b6d355 100644 --- a/sdk/workspacesthinclient/src/lib.rs +++ b/sdk/workspacesthinclient/src/lib.rs @@ -33,7 +33,7 @@ //! ```toml //! [dependencies] //! aws-config = { version = "1.1.7", features = ["behavior-version-latest"] } -//! aws-sdk-workspacesthinclient = "1.36.0" +//! aws-sdk-workspacesthinclient = "1.36.1" //! tokio = { version = "1", features = ["full"] } //! ``` //! diff --git a/sdk/workspacesthinclient/src/types/_environment.rs b/sdk/workspacesthinclient/src/types/_environment.rs index 885502bcc233..b01ee71816b8 100644 --- a/sdk/workspacesthinclient/src/types/_environment.rs +++ b/sdk/workspacesthinclient/src/types/_environment.rs @@ -42,7 +42,7 @@ pub struct Environment { pub kms_key_arn: ::std::option::Option<::std::string::String>, ///

                The tag keys and optional values for the resource.

                pub tags: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>, - ///

                "The tag keys and optional values for the newly created devices for this environment."

                + ///

                The tag keys and optional values for the newly created devices for this environment.

                pub device_creation_tags: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>, } impl Environment { @@ -122,7 +122,7 @@ impl Environment { pub fn tags(&self) -> ::std::option::Option<&::std::collections::HashMap<::std::string::String, ::std::string::String>> { self.tags.as_ref() } - ///

                "The tag keys and optional values for the newly created devices for this environment."

                + ///

                The tag keys and optional values for the newly created devices for this environment.

                pub fn device_creation_tags(&self) -> ::std::option::Option<&::std::collections::HashMap<::std::string::String, ::std::string::String>> { self.device_creation_tags.as_ref() } @@ -462,7 +462,7 @@ impl EnvironmentBuilder { /// /// To override the contents of this collection use [`set_device_creation_tags`](Self::set_device_creation_tags). /// - ///

                "The tag keys and optional values for the newly created devices for this environment."

                + ///

                The tag keys and optional values for the newly created devices for this environment.

                pub fn device_creation_tags( mut self, k: impl ::std::convert::Into<::std::string::String>, @@ -473,7 +473,7 @@ impl EnvironmentBuilder { self.device_creation_tags = ::std::option::Option::Some(hash_map); self } - ///

                "The tag keys and optional values for the newly created devices for this environment."

                + ///

                The tag keys and optional values for the newly created devices for this environment.

                pub fn set_device_creation_tags( mut self, input: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>, @@ -481,7 +481,7 @@ impl EnvironmentBuilder { self.device_creation_tags = input; self } - ///

                "The tag keys and optional values for the newly created devices for this environment."

                + ///

                The tag keys and optional values for the newly created devices for this environment.

                pub fn get_device_creation_tags(&self) -> &::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>> { &self.device_creation_tags } diff --git a/versions.toml b/versions.toml index 4c8245b7efaf..356f12465536 100644 --- a/versions.toml +++ b/versions.toml @@ -58,9 +58,9 @@ model_hash = '707cde7caa30133c4d1e401decfb9815af0805b744e956c8cc125119a3691f83' [crates.aws-sdk-acmpca] category = 'AwsSdk' -version = '1.37.0' -source_hash = 'd2295b324f0ab69bc268774ae0dd22e10818ad277173344f1513f17c1ef6817c' -model_hash = '0bd25e701da7061ac1a08b5fe3f6fd7ab7f7743d586aaf623d8f25e0e08fe838' +version = '1.38.0' +source_hash = '98d15fb4669590ac095e73bb0d023b8871792f0440915a32a145fc0f86137a41' +model_hash = '025a4b98ffe521deeb9de0538127e54c9ffc82dc1dfdb7c2839a62de70f4e498' [crates.aws-sdk-amp] category = 'AwsSdk' @@ -568,9 +568,9 @@ model_hash = '0c636fdcaf6ef4dc690c7dbc27685f60214408caa480f17963af2a0b4999d794' [crates.aws-sdk-connect] category = 'AwsSdk' -version = '1.51.0' -source_hash = 'b4309f48be0ec1534007d76915588d2faca940002aade8b1d0736d7461391be5' -model_hash = '9f6139ed17e82dd2a20908dd0b57b5e73bd72fc0f2f879923a88ea99b69c1c06' +version = '1.52.0' +source_hash = '7ec7a3c03859978bb3eceed0459dd46f86caa83a6a45124b3a479abe368a6a2f' +model_hash = 'f62601c4ae5761e31fa6d4e61d13be56348b434850fea817434f0381ac45dc00' [crates.aws-sdk-connectcampaigns] category = 'AwsSdk' @@ -754,9 +754,9 @@ model_hash = '5ec7004d46e2bb30c8d974da3846e960c6d52a00307ee4cc8a62b95566a1fc84' [crates.aws-sdk-ec2] category = 'AwsSdk' -version = '1.59.0' -source_hash = 'b74fe355ff51597ff0e93710f47dc69217f90692c9df2dc92e5660674f1afe7f' -model_hash = '9d4ed0c40008faaff5777534d6792c3ecb0803b8798f94836998963cba8e5200' +version = '1.60.0' +source_hash = '5a92e9fe799a40b0cf4c482b6d25e5db1438fc195312c4b332bd87f9b1379b18' +model_hash = 'ecea56464c169c03a7e69905e494bd80a65c4a6fbee78b3048b68df8dda19eed' [crates.aws-sdk-ec2instanceconnect] category = 'AwsSdk' @@ -892,9 +892,9 @@ model_hash = '7f6485b3b7f33a01ea75793400c905e7e18daa4a2d67f26456bc700c119455ed' [crates.aws-sdk-firehose] category = 'AwsSdk' -version = '1.39.0' -source_hash = '24944a574ed8b760364b49f212418f3076579fb2858b0267133f2fad2cd2ec6e' -model_hash = 'ab46ba6221e2d502f0d77938e69fa93094956567b1aa9cef1d99dfd101110ecb' +version = '1.40.0' +source_hash = '2c0f97fdf3c4be644e8b0254f6d081d8cc032730d79b5fe663b1c6f3c95ce4eb' +model_hash = '4ebebc5febd6ffa03eba5a3dbdf3b6c226c8a08c07b7a61c5138d62ff5804ed3' [crates.aws-sdk-fis] category = 'AwsSdk' @@ -1150,9 +1150,9 @@ model_hash = '38548f3ae0f4af2489b804bc9b4faf1a9aab4ddadc051ecf13e566f27ae5db0f' [crates.aws-sdk-ivschat] category = 'AwsSdk' -version = '1.35.0' -source_hash = '32dea72aacb9afcf8c2b02ccca789753ab70231ce51f34bb2893005c9e015111' -model_hash = 'c30a4d41c13b828ed0785a30c48f07bb7ee685b751648a8da41d2391636dd771' +version = '1.35.1' +source_hash = '50197c656460a645d92fed310963a9b9bf90788544acf868607383bd865031d0' +model_hash = '9d60ad60cc582b4f4cad4fec6dda1702fb75f408dbbd9379fd070a7e27ed6081' [crates.aws-sdk-ivsrealtime] category = 'AwsSdk' @@ -1420,9 +1420,9 @@ model_hash = 'a0e17b9141a631b80d38ab4feada5dda6af62d174810c3460d67647ac026457c' [crates.aws-sdk-medialive] category = 'AwsSdk' -version = '1.41.0' -source_hash = '862b95a2c9a79462cdbae062d8c3ff93bb2703e01d775bc7b3f66fc44dac86cb' -model_hash = '29c03532a3a4e27a6a86e74f7ddce972bc9d09e5d570188da5d1e81b6f30d22f' +version = '1.42.0' +source_hash = '8d0019bb041f9b686e84af43f5aafd4d54a6dac14640215cb7e4bf0504422f2e' +model_hash = 'cf6b0bfc3fd4a25cc2dc0dcaa86971488bfe3255ce86d898fb420b9258601517' [crates.aws-sdk-mediapackage] category = 'AwsSdk' @@ -1786,9 +1786,9 @@ model_hash = '33137a772550764a4312631b5ad37b61e0232d622a5d0bca86b20efd5bb76105' [crates.aws-sdk-rds] category = 'AwsSdk' -version = '1.45.0' -source_hash = 'ca50e973270e24c6ad5a511a847b99b7d9eb3420173020d391ad37e140c7f0aa' -model_hash = '857c0fa4bd9e30ab22dcc354811d207a0876d0712db06b08c8fa4da73c5320d6' +version = '1.45.1' +source_hash = '9b762fa9a57b493a2b3444bd03d47739260453f5cccb8cfce3658743e378d0d4' +model_hash = 'f56786c33b3480a333839877f4d97cf387108731fda3b153aa8809bdb5e46bfc' [crates.aws-sdk-rdsdata] category = 'AwsSdk' @@ -1930,9 +1930,9 @@ model_hash = 'f9e4b75c464276658ad02e6fb32ece96389662d9e55fe7db3a5a057bd9fb5b03' [crates.aws-sdk-sagemaker] category = 'AwsSdk' -version = '1.59.0' -source_hash = '104c0567e04ce57fc819d373ab2d128b4abfe6762b2e0ec7d4e0e254b0750834' -model_hash = '5511a27cc31b99b6c52ab9cd2aa68fbc3f512540bb7fe7520fd52a3fecbf3d1e' +version = '1.60.0' +source_hash = 'b3ed5a860252e70d837f45d66bf482590def156e400ebc985b9a1fb660eb000b' +model_hash = '9a8fe40390e25471ad9df9e778189432d6b820b107b3c8b145029ef1f92f5c0e' [crates.aws-sdk-sagemakera2iruntime] category = 'AwsSdk' @@ -1990,9 +1990,9 @@ model_hash = 'f1ac740bbf221d07009cb31840d1d0cc731e30ff3d153b018b1706258e5619f2' [crates.aws-sdk-secretsmanager] category = 'AwsSdk' -version = '1.39.0' -source_hash = '7794bae8423ff97e7b1a005cc795c70aa267012b664ead6fc1a02def163d0547' -model_hash = 'd84cdfa970a4c317543ed1a9c0a8cb00054fd284db29e9ad01c7fd215b34d41e' +version = '1.39.1' +source_hash = '45461c0722c72060d6d528e455e0dcd25f57c794bbd89579c14e4bd057efca8c' +model_hash = '38c9e5e795416e436816ff34ca2e8c33e9deaf5e682fa6ac31f7c99a32ca6f67' [crates.aws-sdk-securityhub] category = 'AwsSdk' @@ -2188,9 +2188,9 @@ model_hash = '0d73091f6ab96111985988e6f726ebfe5861c37d443db368f8f16ffbadc402cd' [crates.aws-sdk-taxsettings] category = 'AwsSdk' -version = '1.6.0' -source_hash = 'e98df02fc2996f65f916d12638f73b0f4315818a2ce8d25e1eb9bc521cffdab7' -model_hash = 'f637ad7d03d045ffb5b786eecd1f83b6f4330f42a3bd36261fa4b3b8efcf5ad6' +version = '1.7.0' +source_hash = 'f496805b591d1afd009cc128067a7a176d5ad5427b0e17c8b80112b3407f83a0' +model_hash = '1f3c5763cdbd91908d6f73650fcf4a29f1b4f4d0f2ead697e5c871b9e6c21a55' [crates.aws-sdk-textract] category = 'AwsSdk' @@ -2206,9 +2206,9 @@ model_hash = '68af5db97b128f878677b80742e2adf78602fc4016c9807db28a3d0469e02d9a' [crates.aws-sdk-timestreamquery] category = 'AwsSdk' -version = '1.36.0' -source_hash = '010e2224fe352cc0d2530d241890860c38f5565ef144600b41108371f2f960cf' -model_hash = '87fde23cf74ed664721966ff1de10047d7e2f2f0cf1b704e304cc971f65958a7' +version = '1.36.1' +source_hash = '125246b7794a1ec4a05856165991f4cf6ee4045ffab0be395a777633aced2678' +model_hash = 'd549dc10c59fe077dea1de34bb86e6ea091c51a18a8f94c36835b813cb51c5c3' [crates.aws-sdk-timestreamwrite] category = 'AwsSdk' @@ -2332,9 +2332,9 @@ model_hash = '13b8096c5c76e4ae073c5cc3941a487c0dd0f2ec534876e15d83b88080d96a53' [crates.aws-sdk-workspacesthinclient] category = 'AwsSdk' -version = '1.36.0' -source_hash = '273558caaa2b442dec4542de326abec338ee672c53a6905768b6f3c812a1dca3' -model_hash = '749d273cbad6e8736c3c2945d8f1091f6334e41cdd68b232ca1b7bcdb4fc9384' +version = '1.36.1' +source_hash = 'ac0850f0f6f736fc5064923c8b91e05c200814a7afc65b50a0576549be5feee2' +model_hash = 'b6d68be4c9197a9bd597738ba1bc80da3294c783070aa1a0a58ba7e504f9c212' [crates.aws-sdk-workspacesweb] category = 'AwsSdk' @@ -2482,395 +2482,16 @@ source_hash = '1d4ed02612a642bc8b5aa41e106c6614f4eb2dc9834dedffef91fb4cff7bcb8a' category = 'AwsRuntime' version = '0.0.0' source_hash = '61439a7640fb5dfb476544cc23a37cc6781b09e3cfd6bc92f36063d572f6eb8e' - -[release] -tag = 'release-2024-07-12' - [release.crates] -aws-sdk-accessanalyzer = '1.38.0' -aws-sdk-account = '1.36.0' -aws-sdk-acm = '1.36.0' -aws-sdk-acmpca = '1.37.0' -aws-sdk-amp = '1.35.0' -aws-sdk-amplify = '1.37.0' -aws-sdk-amplifybackend = '1.35.0' -aws-sdk-amplifyuibuilder = '1.35.0' -aws-sdk-apigateway = '1.36.0' -aws-sdk-apigatewaymanagement = '1.35.0' -aws-sdk-apigatewayv2 = '1.35.0' -aws-sdk-appconfig = '1.36.0' -aws-sdk-appconfigdata = '1.35.0' -aws-sdk-appfabric = '1.35.0' -aws-sdk-appflow = '1.35.0' -aws-sdk-appintegrations = '1.35.0' -aws-sdk-applicationautoscaling = '1.38.0' -aws-sdk-applicationcostprofiler = '1.35.0' -aws-sdk-applicationdiscovery = '1.36.0' -aws-sdk-applicationinsights = '1.35.0' -aws-sdk-applicationsignals = '1.5.0' -aws-sdk-appmesh = '1.35.0' -aws-sdk-apprunner = '1.36.0' -aws-sdk-appstream = '1.35.0' -aws-sdk-appsync = '1.39.0' -aws-sdk-apptest = '1.5.0' -aws-sdk-arczonalshift = '1.36.0' -aws-sdk-artifact = '1.23.0' -aws-sdk-athena = '1.37.0' -aws-sdk-auditmanager = '1.36.0' -aws-sdk-autoscaling = '1.37.0' -aws-sdk-autoscalingplans = '1.35.0' -aws-sdk-b2bi = '1.36.0' -aws-sdk-backup = '1.37.0' -aws-sdk-backupgateway = '1.35.0' -aws-sdk-batch = '1.42.0' -aws-sdk-bcmdataexports = '1.33.0' -aws-sdk-bedrock = '1.38.0' -aws-sdk-bedrockagent = '1.40.0' -aws-sdk-bedrockagentruntime = '1.39.0' -aws-sdk-bedrockruntime = '1.40.0' -aws-sdk-billingconductor = '1.36.0' -aws-sdk-braket = '1.37.0' -aws-sdk-budgets = '1.35.0' -aws-sdk-chatbot = '1.22.0' -aws-sdk-chime = '1.35.0' -aws-sdk-chimesdkidentity = '1.35.0' -aws-sdk-chimesdkmediapipelines = '1.36.0' -aws-sdk-chimesdkmeetings = '1.36.0' -aws-sdk-chimesdkmessaging = '1.35.0' -aws-sdk-chimesdkvoice = '1.36.0' -aws-sdk-cleanrooms = '1.38.0' -aws-sdk-cleanroomsml = '1.33.0' -aws-sdk-cloud9 = '1.36.0' -aws-sdk-cloudcontrol = '1.35.0' -aws-sdk-clouddirectory = '1.35.0' -aws-sdk-cloudformation = '1.40.0' -aws-sdk-cloudfront = '1.37.0' -aws-sdk-cloudfrontkeyvaluestore = '1.35.0' -aws-sdk-cloudhsm = '1.35.0' -aws-sdk-cloudhsmv2 = '1.36.0' -aws-sdk-cloudsearch = '1.35.0' -aws-sdk-cloudsearchdomain = '1.35.0' -aws-sdk-cloudtrail = '1.38.0' -aws-sdk-cloudtraildata = '1.35.0' -aws-sdk-cloudwatch = '1.39.0' -aws-sdk-cloudwatchevents = '1.35.0' -aws-sdk-cloudwatchlogs = '1.38.0' -aws-sdk-codeartifact = '1.37.0' -aws-sdk-codebuild = '1.44.0' -aws-sdk-codecatalyst = '1.36.0' -aws-sdk-codecommit = '1.35.0' -aws-sdk-codeconnections = '1.17.0' -aws-sdk-codedeploy = '1.37.0' -aws-sdk-codeguruprofiler = '1.35.0' -aws-sdk-codegurureviewer = '1.35.0' -aws-sdk-codegurusecurity = '1.36.0' -aws-sdk-codepipeline = '1.38.0' -aws-sdk-codestar = '1.35.0' -aws-sdk-codestarconnections = '1.37.0' -aws-sdk-codestarnotifications = '1.35.0' -aws-sdk-cognitoidentity = '1.36.0' -aws-sdk-cognitoidentityprovider = '1.40.0' -aws-sdk-cognitosync = '1.35.0' -aws-sdk-comprehend = '1.35.0' -aws-sdk-comprehendmedical = '1.35.0' -aws-sdk-computeoptimizer = '1.36.0' -aws-sdk-config = '1.36.0' -aws-sdk-connect = '1.51.0' -aws-sdk-connectcampaigns = '1.37.0' -aws-sdk-connectcases = '1.38.0' -aws-sdk-connectcontactlens = '1.35.0' -aws-sdk-connectparticipant = '1.36.0' -aws-sdk-controlcatalog = '1.16.0' -aws-sdk-controltower = '1.38.0' -aws-sdk-costandusagereport = '1.36.0' -aws-sdk-costexplorer = '1.37.0' -aws-sdk-costoptimizationhub = '1.34.0' -aws-sdk-customerprofiles = '1.37.0' -aws-sdk-databasemigration = '1.36.0' -aws-sdk-databrew = '1.35.0' -aws-sdk-dataexchange = '1.35.0' -aws-sdk-datapipeline = '1.35.0' -aws-sdk-datasync = '1.38.0' -aws-sdk-datazone = '1.41.0' -aws-sdk-dax = '1.35.0' -aws-sdk-deadline = '1.17.0' -aws-sdk-detective = '1.35.0' -aws-sdk-devicefarm = '1.36.0' -aws-sdk-devopsguru = '1.35.0' -aws-sdk-directconnect = '1.36.0' -aws-sdk-directory = '1.36.0' -aws-sdk-dlm = '1.35.0' -aws-sdk-docdb = '1.38.0' -aws-sdk-docdbelastic = '1.36.0' -aws-sdk-drs = '1.38.0' -aws-sdk-dynamodb = '1.38.0' -aws-sdk-dynamodbstreams = '1.35.0' -aws-sdk-ebs = '1.35.0' -aws-sdk-ec2 = '1.59.0' -aws-sdk-ec2instanceconnect = '1.35.0' -aws-sdk-ecr = '1.35.0' -aws-sdk-ecrpublic = '1.35.0' -aws-sdk-ecs = '1.36.0' -aws-sdk-efs = '1.36.0' -aws-sdk-eks = '1.40.0' -aws-sdk-eksauth = '1.33.0' -aws-sdk-elasticache = '1.38.0' -aws-sdk-elasticbeanstalk = '1.36.0' -aws-sdk-elasticinference = '1.35.0' -aws-sdk-elasticloadbalancing = '1.35.0' -aws-sdk-elasticloadbalancingv2 = '1.37.0' -aws-sdk-elasticsearch = '1.38.0' -aws-sdk-elastictranscoder = '1.36.0' -aws-sdk-emr = '1.38.0' -aws-sdk-emrcontainers = '1.38.0' -aws-sdk-emrserverless = '1.38.0' -aws-sdk-entityresolution = '1.37.0' -aws-sdk-eventbridge = '1.36.0' -aws-sdk-evidently = '1.35.0' -aws-sdk-finspace = '1.38.0' -aws-sdk-finspacedata = '1.35.0' -aws-sdk-firehose = '1.39.0' -aws-sdk-fis = '1.35.0' -aws-sdk-fms = '1.38.0' -aws-sdk-forecast = '1.35.0' -aws-sdk-forecastquery = '1.35.0' -aws-sdk-frauddetector = '1.35.0' -aws-sdk-freetier = '1.33.0' -aws-sdk-fsx = '1.39.0' -aws-sdk-gamelift = '1.37.0' -aws-sdk-glacier = '1.35.0' -aws-sdk-globalaccelerator = '1.37.0' -aws-sdk-glue = '1.47.0' -aws-sdk-grafana = '1.37.0' -aws-sdk-greengrass = '1.35.0' -aws-sdk-greengrassv2 = '1.36.0' -aws-sdk-groundstation = '1.36.0' -aws-sdk-guardduty = '1.40.0' -aws-sdk-health = '1.35.0' -aws-sdk-healthlake = '1.36.0' -aws-sdk-iam = '1.36.0' -aws-sdk-identitystore = '1.35.0' -aws-sdk-imagebuilder = '1.36.0' -aws-sdk-inspector = '1.35.0' -aws-sdk-inspector2 = '1.39.0' -aws-sdk-inspectorscan = '1.35.0' -aws-sdk-internetmonitor = '1.38.0' -aws-sdk-iot = '1.38.0' -aws-sdk-iot1clickdevices = '1.35.0' -aws-sdk-iot1clickprojects = '1.35.0' -aws-sdk-iotanalytics = '1.35.0' -aws-sdk-iotdataplane = '1.35.0' -aws-sdk-iotdeviceadvisor = '1.35.0' -aws-sdk-iotevents = '1.36.0' -aws-sdk-ioteventsdata = '1.35.0' -aws-sdk-iotfleethub = '1.35.0' -aws-sdk-iotfleetwise = '1.37.0' -aws-sdk-iotjobsdataplane = '1.35.0' -aws-sdk-iotsecuretunneling = '1.35.0' -aws-sdk-iotsitewise = '1.35.0' -aws-sdk-iotthingsgraph = '1.35.0' -aws-sdk-iottwinmaker = '1.35.0' -aws-sdk-iotwireless = '1.38.0' -aws-sdk-ivs = '1.38.0' -aws-sdk-ivschat = '1.35.0' -aws-sdk-ivsrealtime = '1.37.0' -aws-sdk-kafka = '1.38.0' -aws-sdk-kafkaconnect = '1.36.0' -aws-sdk-kendra = '1.36.0' -aws-sdk-kendraranking = '1.35.0' -aws-sdk-keyspaces = '1.36.0' -aws-sdk-kinesis = '1.35.0' -aws-sdk-kinesisanalytics = '1.35.0' -aws-sdk-kinesisanalyticsv2 = '1.38.0' -aws-sdk-kinesisvideo = '1.36.0' -aws-sdk-kinesisvideoarchivedmedia = '1.36.0' -aws-sdk-kinesisvideomedia = '1.35.0' -aws-sdk-kinesisvideosignaling = '1.35.0' -aws-sdk-kinesisvideowebrtcstorage = '1.35.0' -aws-sdk-kms = '1.36.0' -aws-sdk-lakeformation = '1.38.0' -aws-sdk-lambda = '1.36.0' -aws-sdk-launchwizard = '1.36.0' -aws-sdk-lexmodelbuilding = '1.35.0' -aws-sdk-lexmodelsv2 = '1.37.0' -aws-sdk-lexruntime = '1.35.0' -aws-sdk-lexruntimev2 = '1.35.0' -aws-sdk-licensemanager = '1.35.0' -aws-sdk-licensemanagerlinuxsubscriptions = '1.36.0' -aws-sdk-licensemanagerusersubscriptions = '1.35.0' -aws-sdk-lightsail = '1.39.0' -aws-sdk-location = '1.38.0' -aws-sdk-lookoutequipment = '1.37.0' -aws-sdk-lookoutmetrics = '1.35.0' -aws-sdk-lookoutvision = '1.35.0' -aws-sdk-m2 = '1.36.0' -aws-sdk-machinelearning = '1.35.0' -aws-sdk-macie2 = '1.37.0' -aws-sdk-mailmanager = '1.10.0' -aws-sdk-managedblockchain = '1.35.0' -aws-sdk-managedblockchainquery = '1.38.0' -aws-sdk-marketplaceagreement = '1.32.0' -aws-sdk-marketplacecatalog = '1.39.0' -aws-sdk-marketplacecommerceanalytics = '1.35.0' -aws-sdk-marketplacedeployment = '1.32.0' -aws-sdk-marketplaceentitlement = '1.36.0' -aws-sdk-marketplacemetering = '1.35.0' -aws-sdk-mediaconnect = '1.37.0' -aws-sdk-mediaconvert = '1.40.0' -aws-sdk-medialive = '1.41.0' -aws-sdk-mediapackage = '1.35.0' -aws-sdk-mediapackagev2 = '1.37.0' -aws-sdk-mediapackagevod = '1.35.0' -aws-sdk-mediastore = '1.35.0' -aws-sdk-mediastoredata = '1.35.0' -aws-sdk-mediatailor = '1.37.0' -aws-sdk-medicalimaging = '1.37.0' -aws-sdk-memorydb = '1.35.0' -aws-sdk-mgn = '1.35.0' -aws-sdk-migrationhub = '1.35.0' -aws-sdk-migrationhubconfig = '1.35.0' -aws-sdk-migrationhuborchestrator = '1.36.0' -aws-sdk-migrationhubrefactorspaces = '1.35.0' -aws-sdk-migrationhubstrategy = '1.35.0' -aws-sdk-mobile = '1.35.0' -aws-sdk-mq = '1.36.0' -aws-sdk-mturk = '1.35.0' -aws-sdk-mwaa = '1.38.0' -aws-sdk-neptune = '1.36.0' -aws-sdk-neptunedata = '1.35.0' -aws-sdk-neptunegraph = '1.32.0' -aws-sdk-networkfirewall = '1.35.0' -aws-sdk-networkmanager = '1.37.0' -aws-sdk-networkmonitor = '1.26.0' -aws-sdk-nimble = '1.35.0' -aws-sdk-oam = '1.37.0' -aws-sdk-omics = '1.37.0' -aws-sdk-opensearch = '1.44.0' -aws-sdk-opensearchserverless = '1.36.0' -aws-sdk-opsworks = '1.35.0' -aws-sdk-opsworkscm = '1.35.0' -aws-sdk-organizations = '1.38.0' -aws-sdk-osis = '1.37.0' -aws-sdk-outposts = '1.37.0' -aws-sdk-panorama = '1.35.0' -aws-sdk-paymentcryptography = '1.38.0' -aws-sdk-paymentcryptographydata = '1.37.0' -aws-sdk-pcaconnectorad = '1.35.0' -aws-sdk-pcaconnectorscep = '1.5.0' -aws-sdk-personalize = '1.37.0' -aws-sdk-personalizeevents = '1.35.0' -aws-sdk-personalizeruntime = '1.35.0' -aws-sdk-pi = '1.36.0' -aws-sdk-pinpoint = '1.37.0' -aws-sdk-pinpointemail = '1.35.0' -aws-sdk-pinpointsmsvoice = '1.35.0' -aws-sdk-pinpointsmsvoicev2 = '1.36.0' -aws-sdk-pipes = '1.37.0' -aws-sdk-polly = '1.36.0' -aws-sdk-pricing = '1.37.0' -aws-sdk-privatenetworks = '1.35.0' -aws-sdk-proton = '1.35.0' -aws-sdk-qapps = '1.1.0' -aws-sdk-qbusiness = '1.36.0' -aws-sdk-qconnect = '1.38.0' -aws-sdk-qldb = '1.35.0' -aws-sdk-qldbsession = '1.35.0' -aws-sdk-quicksight = '1.43.0' -aws-sdk-ram = '1.35.0' -aws-sdk-rbin = '1.36.0' -aws-sdk-rds = '1.45.0' -aws-sdk-rdsdata = '1.35.0' -aws-sdk-redshift = '1.36.0' -aws-sdk-redshiftdata = '1.35.0' -aws-sdk-redshiftserverless = '1.37.0' -aws-sdk-rekognition = '1.38.0' -aws-sdk-repostspace = '1.33.0' -aws-sdk-resiliencehub = '1.35.0' -aws-sdk-resourceexplorer2 = '1.36.0' -aws-sdk-resourcegroups = '1.36.0' -aws-sdk-resourcegroupstagging = '1.35.0' -aws-sdk-robomaker = '1.35.0' -aws-sdk-rolesanywhere = '1.38.0' -aws-sdk-route53 = '1.36.0' -aws-sdk-route53domains = '1.37.0' -aws-sdk-route53profiles = '1.14.0' -aws-sdk-route53recoverycluster = '1.35.0' -aws-sdk-route53recoverycontrolconfig = '1.35.0' -aws-sdk-route53recoveryreadiness = '1.35.0' -aws-sdk-route53resolver = '1.39.0' -aws-sdk-rum = '1.35.0' -aws-sdk-s3 = '1.41.0' -aws-sdk-s3control = '1.37.0' -aws-sdk-s3outposts = '1.35.0' -aws-sdk-sagemaker = '1.59.0' -aws-sdk-sagemakera2iruntime = '1.35.0' -aws-sdk-sagemakeredge = '1.35.0' -aws-sdk-sagemakerfeaturestoreruntime = '1.36.0' -aws-sdk-sagemakergeospatial = '1.35.0' -aws-sdk-sagemakermetrics = '1.35.0' -aws-sdk-sagemakerruntime = '1.36.0' -aws-sdk-savingsplans = '1.36.0' -aws-sdk-scheduler = '1.35.0' -aws-sdk-schemas = '1.35.0' -aws-sdk-secretsmanager = '1.39.0' -aws-sdk-securityhub = '1.37.0' -aws-sdk-securitylake = '1.37.0' -aws-sdk-serverlessapplicationrepository = '1.35.0' -aws-sdk-servicecatalog = '1.36.0' -aws-sdk-servicecatalogappregistry = '1.35.0' -aws-sdk-servicediscovery = '1.35.0' -aws-sdk-servicequotas = '1.35.0' -aws-sdk-ses = '1.36.0' -aws-sdk-sesv2 = '1.38.0' -aws-sdk-sfn = '1.37.0' -aws-sdk-shield = '1.35.0' -aws-sdk-signer = '1.35.0' -aws-sdk-simspaceweaver = '1.35.0' -aws-sdk-sms = '1.35.0' -aws-sdk-snowball = '1.35.0' -aws-sdk-snowdevicemanagement = '1.35.0' -aws-sdk-sns = '1.36.0' -aws-sdk-sqs = '1.35.0' -aws-sdk-ssm = '1.39.0' -aws-sdk-ssmcontacts = '1.35.0' -aws-sdk-ssmincidents = '1.35.0' -aws-sdk-ssmsap = '1.36.0' -aws-sdk-sso = '1.35.0' -aws-sdk-ssoadmin = '1.35.0' -aws-sdk-ssooidc = '1.36.0' -aws-sdk-storagegateway = '1.38.0' -aws-sdk-sts = '1.35.0' -aws-sdk-supplychain = '1.26.0' -aws-sdk-support = '1.36.0' -aws-sdk-supportapp = '1.35.0' -aws-sdk-swf = '1.37.0' -aws-sdk-synthetics = '1.35.0' -aws-sdk-taxsettings = '1.6.0' -aws-sdk-textract = '1.35.0' -aws-sdk-timestreaminfluxdb = '1.18.0' -aws-sdk-timestreamquery = '1.36.0' -aws-sdk-timestreamwrite = '1.35.0' -aws-sdk-tnb = '1.35.0' -aws-sdk-transcribe = '1.36.0' -aws-sdk-transcribestreaming = '1.35.0' -aws-sdk-transfer = '1.39.0' -aws-sdk-translate = '1.35.0' -aws-sdk-trustedadvisor = '1.36.0' -aws-sdk-verifiedpermissions = '1.41.0' -aws-sdk-voiceid = '1.35.0' -aws-sdk-vpclattice = '1.36.0' -aws-sdk-waf = '1.36.0' -aws-sdk-wafregional = '1.35.0' -aws-sdk-wafv2 = '1.39.0' -aws-sdk-wellarchitected = '1.36.0' -aws-sdk-wisdom = '1.36.0' -aws-sdk-workdocs = '1.35.0' -aws-sdk-worklink = '1.35.0' -aws-sdk-workmail = '1.35.0' -aws-sdk-workmailmessageflow = '1.35.0' -aws-sdk-workspaces = '1.39.0' -aws-sdk-workspacesthinclient = '1.36.0' -aws-sdk-workspacesweb = '1.37.0' -aws-sdk-xray = '1.35.0' -aws-smithy-protocol-test = '0.60.8' -aws-smithy-runtime = '1.6.2' +aws-sdk-acmpca = '1.38.0' +aws-sdk-connect = '1.52.0' +aws-sdk-ec2 = '1.60.0' +aws-sdk-firehose = '1.40.0' +aws-sdk-ivschat = '1.35.1' +aws-sdk-medialive = '1.42.0' +aws-sdk-rds = '1.45.1' +aws-sdk-sagemaker = '1.60.0' +aws-sdk-secretsmanager = '1.39.1' +aws-sdk-taxsettings = '1.7.0' +aws-sdk-timestreamquery = '1.36.1' +aws-sdk-workspacesthinclient = '1.36.1'