Skip to content

update_service_network_vpc_association

update_service_network_vpc_association(
    service_network_vpc_association_identifier: ServiceNetworkVpcAssociationIdentifier,
    *,
    config_overrides: Optional[VPCLatticeClientConfig] = None,
    security_group_ids: Optional[SecurityGroupList] = None,
    private_dns_enabled: Optional[Boolean] = None,
    dns_options: Optional[DnsOptions] = None,
) -> UpdateServiceNetworkVpcAssociationResponse

Updates the service network and VPC association. If you add a security group to the service network and VPC association, the association must continue to have at least one security group. You can add or edit security groups at any time. However, to remove all security groups, you must first delete the association and then recreate it without security groups.

Parameters:

Raises:

Source code in docs_src/capo_vpc_lattice/_services/vpc_lattice.py
def update_service_network_vpc_association(
    self,
    service_network_vpc_association_identifier: "capo_vpc_lattice.types.service_network_vpc_association_identifier.ServiceNetworkVpcAssociationIdentifier",
    *,
    config_overrides: Optional[VPCLatticeClientConfig] = None,
    security_group_ids: Optional[
        "capo_vpc_lattice.types.security_group_list.SecurityGroupList"
    ] = None,
    private_dns_enabled: Optional["capo_vpc_lattice.types.boolean.Boolean"] = None,
    dns_options: Optional["capo_vpc_lattice.types.dns_options.DnsOptions"] = None,
) -> "capo_vpc_lattice.types.update_service_network_vpc_association_response.UpdateServiceNetworkVpcAssociationResponse":
    """<p>Updates the service network and VPC association. If you add a security group to the service network and VPC association, the association must continue to have at least one security group. You can add or edit security groups at any time. However, to remove all security groups, you must first delete the association and then recreate it without security groups.</p>

    Args:
        service_network_vpc_association_identifier: <p>The ID or ARN of the association.</p>
        security_group_ids: <p>The IDs of the security groups.</p>
        private_dns_enabled: <p> Indicates if private DNS is enabled for the VPC association. </p>
        dns_options: <p> DNS options for the service network VPC association. </p>

    Raises:
        capo_vpc_lattice.errors.access_denied_exception.AccessDeniedException: <p>The user does not have sufficient access to perform this action.</p>
        capo_vpc_lattice.errors.conflict_exception.ConflictException: <p>The request conflicts with the current state of the resource. Updating or deleting a resource can cause an inconsistent state.</p>
        capo_vpc_lattice.errors.internal_server_exception.InternalServerException: <p>An unexpected error occurred while processing the request.</p>
        capo_vpc_lattice.errors.resource_not_found_exception.ResourceNotFoundException: <p>The request references a resource that does not exist.</p>
        capo_vpc_lattice.errors.throttling_exception.ThrottlingException: <p>The limit on the number of requests per second was exceeded.</p>
        capo_vpc_lattice.errors.validation_exception.ValidationException: <p>The input does not satisfy the constraints specified by an Amazon Web Services service.</p>
        capo_vpc_lattice.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    def _handler(
        req: "OperationRequest[capo_vpc_lattice.types.update_service_network_vpc_association_request.UpdateServiceNetworkVpcAssociationRequest]",
    ) -> OperationResponse[
        "capo_vpc_lattice.types.update_service_network_vpc_association_response.UpdateServiceNetworkVpcAssociationResponse"
    ]:
        import capo_vpc_lattice._operations.mercury_control_plane.update_service_network_vpc_association

        output, http_response = (
            capo_vpc_lattice._operations.mercury_control_plane.update_service_network_vpc_association.update_service_network_vpc_association(
                req.options, req.input
            )
        )
        return OperationResponse(output=output, response=http_response)

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("UpdateServiceNetworkVpcAssociation")
    )
    input_: capo_vpc_lattice.types.update_service_network_vpc_association_request.UpdateServiceNetworkVpcAssociationRequest = {
        "service_network_vpc_association_identifier": service_network_vpc_association_identifier
    }
    if security_group_ids is not None:
        input_["security_group_ids"] = security_group_ids
    if private_dns_enabled is not None:
        input_["private_dns_enabled"] = private_dns_enabled
    if dns_options is not None:
        input_["dns_options"] = dns_options

    response = execute_pipeline(
        OperationRequest(input=input_, options=options_),
        handler=_handler,
        interceptors=list(interceptors_),
    )
    response.response.close()
    return response.output