// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
/// Constructs a fluent builder for the [`ModifyVpcEndpoint`](crate::operation::modify_vpc_endpoint::builders::ModifyVpcEndpointFluentBuilder) operation.
///
/// - The fluent builder is configurable:
/// - [`dry_run(bool)`](crate::operation::modify_vpc_endpoint::builders::ModifyVpcEndpointFluentBuilder::dry_run) / [`set_dry_run(Option<bool>)`](crate::operation::modify_vpc_endpoint::builders::ModifyVpcEndpointFluentBuilder::set_dry_run): <p>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 <code>DryRunOperation</code>. Otherwise, it is <code>UnauthorizedOperation</code>.</p>
/// - [`vpc_endpoint_id(impl ::std::convert::Into<String>)`](crate::operation::modify_vpc_endpoint::builders::ModifyVpcEndpointFluentBuilder::vpc_endpoint_id) / [`set_vpc_endpoint_id(Option<String>)`](crate::operation::modify_vpc_endpoint::builders::ModifyVpcEndpointFluentBuilder::set_vpc_endpoint_id): <p>The ID of the endpoint.</p>
/// - [`reset_policy(bool)`](crate::operation::modify_vpc_endpoint::builders::ModifyVpcEndpointFluentBuilder::reset_policy) / [`set_reset_policy(Option<bool>)`](crate::operation::modify_vpc_endpoint::builders::ModifyVpcEndpointFluentBuilder::set_reset_policy): <p>(Gateway endpoint) Specify <code>true</code> to reset the policy document to the default policy. The default policy allows full access to the service.</p>
/// - [`policy_document(impl ::std::convert::Into<String>)`](crate::operation::modify_vpc_endpoint::builders::ModifyVpcEndpointFluentBuilder::policy_document) / [`set_policy_document(Option<String>)`](crate::operation::modify_vpc_endpoint::builders::ModifyVpcEndpointFluentBuilder::set_policy_document): <p>(Interface and gateway endpoints) A policy to attach to the endpoint that controls access to the service. The policy must be in valid JSON format.</p>
/// - [`add_route_table_ids(Vec<String>)`](crate::operation::modify_vpc_endpoint::builders::ModifyVpcEndpointFluentBuilder::add_route_table_ids) / [`set_add_route_table_ids(Option<Vec<String>>)`](crate::operation::modify_vpc_endpoint::builders::ModifyVpcEndpointFluentBuilder::set_add_route_table_ids): <p>(Gateway endpoint) The IDs of the route tables to associate with the endpoint.</p>
/// - [`remove_route_table_ids(Vec<String>)`](crate::operation::modify_vpc_endpoint::builders::ModifyVpcEndpointFluentBuilder::remove_route_table_ids) / [`set_remove_route_table_ids(Option<Vec<String>>)`](crate::operation::modify_vpc_endpoint::builders::ModifyVpcEndpointFluentBuilder::set_remove_route_table_ids): <p>(Gateway endpoint) The IDs of the route tables to disassociate from the endpoint.</p>
/// - [`add_subnet_ids(Vec<String>)`](crate::operation::modify_vpc_endpoint::builders::ModifyVpcEndpointFluentBuilder::add_subnet_ids) / [`set_add_subnet_ids(Option<Vec<String>>)`](crate::operation::modify_vpc_endpoint::builders::ModifyVpcEndpointFluentBuilder::set_add_subnet_ids): <p>(Interface and Gateway Load Balancer endpoints) The IDs of the subnets in which to serve the endpoint. For a Gateway Load Balancer endpoint, you can specify only one subnet.</p>
/// - [`remove_subnet_ids(Vec<String>)`](crate::operation::modify_vpc_endpoint::builders::ModifyVpcEndpointFluentBuilder::remove_subnet_ids) / [`set_remove_subnet_ids(Option<Vec<String>>)`](crate::operation::modify_vpc_endpoint::builders::ModifyVpcEndpointFluentBuilder::set_remove_subnet_ids): <p>(Interface endpoint) The IDs of the subnets from which to remove the endpoint.</p>
/// - [`add_security_group_ids(Vec<String>)`](crate::operation::modify_vpc_endpoint::builders::ModifyVpcEndpointFluentBuilder::add_security_group_ids) / [`set_add_security_group_ids(Option<Vec<String>>)`](crate::operation::modify_vpc_endpoint::builders::ModifyVpcEndpointFluentBuilder::set_add_security_group_ids): <p>(Interface endpoint) The IDs of the security groups to associate with the network interface.</p>
/// - [`remove_security_group_ids(Vec<String>)`](crate::operation::modify_vpc_endpoint::builders::ModifyVpcEndpointFluentBuilder::remove_security_group_ids) / [`set_remove_security_group_ids(Option<Vec<String>>)`](crate::operation::modify_vpc_endpoint::builders::ModifyVpcEndpointFluentBuilder::set_remove_security_group_ids): <p>(Interface endpoint) The IDs of the security groups to disassociate from the network interface.</p>
/// - [`ip_address_type(IpAddressType)`](crate::operation::modify_vpc_endpoint::builders::ModifyVpcEndpointFluentBuilder::ip_address_type) / [`set_ip_address_type(Option<IpAddressType>)`](crate::operation::modify_vpc_endpoint::builders::ModifyVpcEndpointFluentBuilder::set_ip_address_type): <p>The IP address type for the endpoint.</p>
/// - [`dns_options(DnsOptionsSpecification)`](crate::operation::modify_vpc_endpoint::builders::ModifyVpcEndpointFluentBuilder::dns_options) / [`set_dns_options(Option<DnsOptionsSpecification>)`](crate::operation::modify_vpc_endpoint::builders::ModifyVpcEndpointFluentBuilder::set_dns_options): <p>The DNS options for the endpoint.</p>
/// - [`private_dns_enabled(bool)`](crate::operation::modify_vpc_endpoint::builders::ModifyVpcEndpointFluentBuilder::private_dns_enabled) / [`set_private_dns_enabled(Option<bool>)`](crate::operation::modify_vpc_endpoint::builders::ModifyVpcEndpointFluentBuilder::set_private_dns_enabled): <p>(Interface endpoint) Indicates whether a private hosted zone is associated with the VPC.</p>
/// - On success, responds with [`ModifyVpcEndpointOutput`](crate::operation::modify_vpc_endpoint::ModifyVpcEndpointOutput) with field(s):
/// - [`r#return(Option<bool>)`](crate::operation::modify_vpc_endpoint::ModifyVpcEndpointOutput::return): <p>Returns <code>true</code> if the request succeeds; otherwise, it returns an error.</p>
/// - On failure, responds with [`SdkError<ModifyVpcEndpointError>`](crate::operation::modify_vpc_endpoint::ModifyVpcEndpointError)
pub fn modify_vpc_endpoint(&self) -> crate::operation::modify_vpc_endpoint::builders::ModifyVpcEndpointFluentBuilder {
crate::operation::modify_vpc_endpoint::builders::ModifyVpcEndpointFluentBuilder::new(self.handle.clone())
}
}