Skip to content

add_application_vpc_configuration

add_application_vpc_configuration(
    application_name: ApplicationName,
    vpc_configuration: VpcConfiguration,
    *,
    config_overrides: Optional[KinesisAnalyticsV2ClientConfig] = None,
    current_application_version_id: Optional[ApplicationVersionId] = None,
    conditional_token: Optional[ConditionalToken] = None,
) -> AddApplicationVpcConfigurationResponse

Adds a Virtual Private Cloud (VPC) configuration to the application. Applications can use VPCs to store and access resources securely.

Note the following about VPC configurations for Managed Service for Apache Flink applications:

  • VPC configurations are not supported for SQL applications.

  • When a VPC is added to a Managed Service for Apache Flink application, the application can no longer be accessed from the Internet directly. To enable Internet access to the application, add an Internet gateway to your VPC.

Parameters:

  • application_name (ApplicationName) –

    The name of an existing application.

  • current_application_version_id (Optional[ApplicationVersionId], default: None ) –

    The version of the application to which you want to add the VPC configuration. You must provide the CurrentApplicationVersionId or the ConditionalToken. You can use the DescribeApplication operation to get the current application version. If the version specified is not the current version, the ConcurrentModificationException is returned. For better concurrency support, use the ConditionalToken parameter instead of CurrentApplicationVersionId.

  • vpc_configuration (VpcConfiguration) –

    Description of the VPC to add to the application.

  • conditional_token (Optional[ConditionalToken], default: None ) –

    A value you use to implement strong concurrency for application updates. You must provide the ApplicationVersionID or the ConditionalToken. You get the application's current ConditionalToken using DescribeApplication. For better concurrency support, use the ConditionalToken parameter instead of CurrentApplicationVersionId.

Raises:

Source code in docs_src/capo_kinesis_analytics_v2/_services/kinesis_analytics_v2.py
def add_application_vpc_configuration(
    self,
    application_name: "capo_kinesis_analytics_v2.types.application_name.ApplicationName",
    vpc_configuration: "capo_kinesis_analytics_v2.types.vpc_configuration.VpcConfiguration",
    *,
    config_overrides: Optional[KinesisAnalyticsV2ClientConfig] = None,
    current_application_version_id: Optional[
        "capo_kinesis_analytics_v2.types.application_version_id.ApplicationVersionId"
    ] = None,
    conditional_token: Optional[
        "capo_kinesis_analytics_v2.types.conditional_token.ConditionalToken"
    ] = None,
) -> "capo_kinesis_analytics_v2.types.add_application_vpc_configuration_response.AddApplicationVpcConfigurationResponse":
    """<p>Adds a Virtual Private Cloud (VPC) configuration to the application. Applications can use VPCs to store and access resources securely.</p> <p>Note the following about VPC configurations for Managed Service for Apache Flink applications:</p> <ul> <li> <p>VPC configurations are not supported for SQL applications.</p> </li> <li> <p>When a VPC is added to a Managed Service for Apache Flink application, the application can no longer be accessed from the Internet directly. To enable Internet access to the application, add an Internet gateway to your VPC.</p> </li> </ul>

    Args:
        application_name: <p>The name of an existing application.</p>
        current_application_version_id: <p>The version of the application to which you want to add the VPC configuration. You must provide the <code>CurrentApplicationVersionId</code> or the <code>ConditionalToken</code>. You can use the <a>DescribeApplication</a> operation to get the current application version. If the version specified is not the current version, the <code>ConcurrentModificationException</code> is returned. For better concurrency support, use the <code>ConditionalToken</code> parameter instead of <code>CurrentApplicationVersionId</code>.</p>
        vpc_configuration: <p>Description of the VPC to add to the application.</p>
        conditional_token: <p>A value you use to implement strong concurrency for application updates. You must provide the <code>ApplicationVersionID</code> or the <code>ConditionalToken</code>. You get the application's current <code>ConditionalToken</code> using <a>DescribeApplication</a>. For better concurrency support, use the <code>ConditionalToken</code> parameter instead of <code>CurrentApplicationVersionId</code>.</p>

    Raises:
        capo_kinesis_analytics_v2.errors.concurrent_modification_exception.ConcurrentModificationException: <p>Exception thrown as a result of concurrent modifications to an application. This error can be the result of attempting to modify an application without using the current application ID.</p>
        capo_kinesis_analytics_v2.errors.invalid_application_configuration_exception.InvalidApplicationConfigurationException: <p>The user-provided application configuration is not valid.</p>
        capo_kinesis_analytics_v2.errors.invalid_argument_exception.InvalidArgumentException: <p>The specified input parameter value is not valid.</p>
        capo_kinesis_analytics_v2.errors.resource_in_use_exception.ResourceInUseException: <p>The application is not available for this operation.</p>
        capo_kinesis_analytics_v2.errors.resource_not_found_exception.ResourceNotFoundException: <p>Specified application can't be found.</p>
        capo_kinesis_analytics_v2.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    def _handler(
        req: "OperationRequest[capo_kinesis_analytics_v2.types.add_application_vpc_configuration_request.AddApplicationVpcConfigurationRequest]",
    ) -> OperationResponse[
        "capo_kinesis_analytics_v2.types.add_application_vpc_configuration_response.AddApplicationVpcConfigurationResponse"
    ]:
        import capo_kinesis_analytics_v2._operations.kinesis_analytics_20180523.add_application_vpc_configuration

        output, http_response = (
            capo_kinesis_analytics_v2._operations.kinesis_analytics_20180523.add_application_vpc_configuration.add_application_vpc_configuration(
                req.options, req.input
            )
        )
        return OperationResponse(output=output, response=http_response)

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("AddApplicationVpcConfiguration")
    )
    input_: capo_kinesis_analytics_v2.types.add_application_vpc_configuration_request.AddApplicationVpcConfigurationRequest = {
        "application_name": application_name,
        "vpc_configuration": vpc_configuration,
    }
    if current_application_version_id is not None:
        input_["current_application_version_id"] = current_application_version_id
    if conditional_token is not None:
        input_["conditional_token"] = conditional_token

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