Skip to content

create_application

create_application(
    application_name: ApplicationName,
    runtime_environment: RuntimeEnvironment,
    service_execution_role: RoleARN,
    *,
    config_overrides: Optional[KinesisAnalyticsV2ClientConfig] = None,
    application_description: Optional[ApplicationDescription] = None,
    application_configuration: Optional[ApplicationConfiguration] = None,
    cloud_watch_logging_options: Optional[CloudWatchLoggingOptions] = None,
    tags: Optional[Tags] = None,
    application_mode: Optional[ApplicationMode] = None,
) -> CreateApplicationResponse

Creates a Managed Service for Apache Flink application. For information about creating a Managed Service for Apache Flink application, see Creating an Application.

Parameters:

  • application_name (ApplicationName) –

    The name of your application (for example, sample-app).

  • application_description (Optional[ApplicationDescription], default: None ) –

    A summary description of the application.

  • runtime_environment (RuntimeEnvironment) –

    The runtime environment for the application.

  • service_execution_role (RoleARN) –

    The IAM role used by the application to access Kinesis data streams, Kinesis Data Firehose delivery streams, Amazon S3 objects, and other external resources.

  • application_configuration (Optional[ApplicationConfiguration], default: None ) –

    Use this parameter to configure the application.

  • cloud_watch_logging_options (Optional[CloudWatchLoggingOptions], default: None ) –

    Use this parameter to configure an Amazon CloudWatch log stream to monitor application configuration errors.

  • tags (Optional[Tags], default: None ) –

    A list of one or more tags to assign to the application. A tag is a key-value pair that identifies an application. Note that the maximum number of application tags includes system tags. The maximum number of user-defined application tags is 50. For more information, see Using Tagging.

  • application_mode (Optional[ApplicationMode], default: None ) –

    Use the STREAMING mode to create a Managed Service for Apache Flink application. To create a Managed Service for Apache Flink Studio notebook, use the INTERACTIVE mode.

Raises:

  • CodeValidationException –

    The user-provided application code (query) is not valid. This can be a simple syntax error.

  • ConcurrentModificationException –

    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.

  • InvalidArgumentException –

    The specified input parameter value is not valid.

  • InvalidRequestException –

    The request JSON is not valid for the operation.

  • LimitExceededException –

    The number of allowed resources has been exceeded.

  • ResourceInUseException –

    The application is not available for this operation.

  • TooManyTagsException –

    Application created with too many tags, or too many tags added to an application. Note that the maximum number of application tags includes system tags. The maximum number of user-defined application tags is 50.

  • UnsupportedOperationException –

    The request was rejected because a specified parameter is not supported or a specified resource is not valid for this operation.

  • UnknownServiceError –

    The service returned an error code this client does not model.

Source code in docs_src/capo_kinesis_analytics_v2/_services/kinesis_analytics_v2.py
def create_application(
    self,
    application_name: "capo_kinesis_analytics_v2.types.application_name.ApplicationName",
    runtime_environment: "capo_kinesis_analytics_v2.types.runtime_environment.RuntimeEnvironment",
    service_execution_role: "capo_kinesis_analytics_v2.types.role_arn.RoleARN",
    *,
    config_overrides: Optional[KinesisAnalyticsV2ClientConfig] = None,
    application_description: Optional[
        "capo_kinesis_analytics_v2.types.application_description.ApplicationDescription"
    ] = None,
    application_configuration: Optional[
        "capo_kinesis_analytics_v2.types.application_configuration.ApplicationConfiguration"
    ] = None,
    cloud_watch_logging_options: Optional[
        "capo_kinesis_analytics_v2.types.cloud_watch_logging_options.CloudWatchLoggingOptions"
    ] = None,
    tags: Optional["capo_kinesis_analytics_v2.types.tags.Tags"] = None,
    application_mode: Optional[
        "capo_kinesis_analytics_v2.types.application_mode.ApplicationMode"
    ] = None,
) -> "capo_kinesis_analytics_v2.types.create_application_response.CreateApplicationResponse":
    """<p>Creates a Managed Service for Apache Flink application. For information about creating a Managed Service for Apache Flink application, see <a href="https://docs.aws.amazon.com/kinesisanalytics/latest/java/getting-started.html">Creating an Application</a>.</p>

    Args:
        application_name: <p>The name of your application (for example, <code>sample-app</code>).</p>
        application_description: <p>A summary description of the application.</p>
        runtime_environment: <p>The runtime environment for the application.</p>
        service_execution_role: <p>The IAM role used by the application to access Kinesis data streams, Kinesis Data Firehose delivery streams, Amazon S3 objects, and other external resources.</p>
        application_configuration: <p>Use this parameter to configure the application.</p>
        cloud_watch_logging_options: <p>Use this parameter to configure an Amazon CloudWatch log stream to monitor application configuration errors. </p>
        tags: <p>A list of one or more tags to assign to the application. A tag is a key-value pair that identifies an application. Note that the maximum number of application tags includes system tags. The maximum number of user-defined application tags is 50. For more information, see <a href="https://docs.aws.amazon.com/kinesisanalytics/latest/java/how-tagging.html">Using Tagging</a>.</p>
        application_mode: <p>Use the <code>STREAMING</code> mode to create a Managed Service for Apache Flink application. To create a Managed Service for Apache Flink Studio notebook, use the <code>INTERACTIVE</code> mode.</p>

    Raises:
        capo_kinesis_analytics_v2.errors.code_validation_exception.CodeValidationException: <p>The user-provided application code (query) is not valid. This can be a simple syntax error.</p>
        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_argument_exception.InvalidArgumentException: <p>The specified input parameter value is not valid.</p>
        capo_kinesis_analytics_v2.errors.invalid_request_exception.InvalidRequestException: <p>The request JSON is not valid for the operation.</p>
        capo_kinesis_analytics_v2.errors.limit_exceeded_exception.LimitExceededException: <p>The number of allowed resources has been exceeded.</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.too_many_tags_exception.TooManyTagsException: <p>Application created with too many tags, or too many tags added to an application. Note that the maximum number of application tags includes system tags. The maximum number of user-defined application tags is 50.</p>
        capo_kinesis_analytics_v2.errors.unsupported_operation_exception.UnsupportedOperationException: <p>The request was rejected because a specified parameter is not supported or a specified resource is not valid for this operation. </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.create_application_request.CreateApplicationRequest]",
    ) -> OperationResponse[
        "capo_kinesis_analytics_v2.types.create_application_response.CreateApplicationResponse"
    ]:
        import capo_kinesis_analytics_v2._operations.kinesis_analytics_20180523.create_application

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

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("CreateApplication")
    )
    input_: capo_kinesis_analytics_v2.types.create_application_request.CreateApplicationRequest = {
        "application_name": application_name,
        "runtime_environment": runtime_environment,
        "service_execution_role": service_execution_role,
    }
    if application_description is not None:
        input_["application_description"] = application_description
    if application_configuration is not None:
        input_["application_configuration"] = application_configuration
    if cloud_watch_logging_options is not None:
        input_["cloud_watch_logging_options"] = cloud_watch_logging_options
    if tags is not None:
        input_["tags"] = tags
    if application_mode is not None:
        input_["application_mode"] = application_mode

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