Class: Aws::KinesisAnalyticsV2::Client
- Inherits:
-
Seahorse::Client::Base
- Object
- Seahorse::Client::Base
- Aws::KinesisAnalyticsV2::Client
- Includes:
- ClientStubs
- Defined in:
- lib/aws-sdk-kinesisanalyticsv2/client.rb
Overview
An API client for KinesisAnalyticsV2. To construct a client, you need to configure a ‘:region` and `:credentials`.
client = Aws::KinesisAnalyticsV2::Client.new(
region: region_name,
credentials: credentials,
# ...
)
For details on configuring region and credentials see the [developer guide](/sdk-for-ruby/v3/developer-guide/setup-config.html).
See #initialize for a full list of supported configuration options.
Class Attribute Summary collapse
- .identifier ⇒ Object readonly private
API Operations collapse
-
#add_application_cloud_watch_logging_option(params = {}) ⇒ Types::AddApplicationCloudWatchLoggingOptionResponse
Adds an Amazon CloudWatch log stream to monitor application configuration errors.
-
#add_application_input(params = {}) ⇒ Types::AddApplicationInputResponse
Adds a streaming source to your SQL-based Kinesis Data Analytics application.
-
#add_application_input_processing_configuration(params = {}) ⇒ Types::AddApplicationInputProcessingConfigurationResponse
Adds an InputProcessingConfiguration to a SQL-based Kinesis Data Analytics application.
-
#add_application_output(params = {}) ⇒ Types::AddApplicationOutputResponse
Adds an external destination to your SQL-based Kinesis Data Analytics application.
-
#add_application_reference_data_source(params = {}) ⇒ Types::AddApplicationReferenceDataSourceResponse
Adds a reference data source to an existing SQL-based Kinesis Data Analytics application.
-
#add_application_vpc_configuration(params = {}) ⇒ Types::AddApplicationVpcConfigurationResponse
Adds a Virtual Private Cloud (VPC) configuration to the application.
-
#create_application(params = {}) ⇒ Types::CreateApplicationResponse
Creates a Kinesis Data Analytics application.
-
#create_application_presigned_url(params = {}) ⇒ Types::CreateApplicationPresignedUrlResponse
Creates and returns a URL that you can use to connect to an application’s extension.
-
#create_application_snapshot(params = {}) ⇒ Struct
Creates a snapshot of the application’s state data.
-
#delete_application(params = {}) ⇒ Struct
Deletes the specified application.
-
#delete_application_cloud_watch_logging_option(params = {}) ⇒ Types::DeleteApplicationCloudWatchLoggingOptionResponse
Deletes an Amazon CloudWatch log stream from an Kinesis Data Analytics application.
-
#delete_application_input_processing_configuration(params = {}) ⇒ Types::DeleteApplicationInputProcessingConfigurationResponse
Deletes an InputProcessingConfiguration from an input.
-
#delete_application_output(params = {}) ⇒ Types::DeleteApplicationOutputResponse
Deletes the output destination configuration from your SQL-based Kinesis Data Analytics application’s configuration.
-
#delete_application_reference_data_source(params = {}) ⇒ Types::DeleteApplicationReferenceDataSourceResponse
Deletes a reference data source configuration from the specified SQL-based Kinesis Data Analytics application’s configuration.
-
#delete_application_snapshot(params = {}) ⇒ Struct
Deletes a snapshot of application state.
-
#delete_application_vpc_configuration(params = {}) ⇒ Types::DeleteApplicationVpcConfigurationResponse
Removes a VPC configuration from a Kinesis Data Analytics application.
-
#describe_application(params = {}) ⇒ Types::DescribeApplicationResponse
Returns information about a specific Kinesis Data Analytics application.
-
#describe_application_snapshot(params = {}) ⇒ Types::DescribeApplicationSnapshotResponse
Returns information about a snapshot of application state data.
-
#describe_application_version(params = {}) ⇒ Types::DescribeApplicationVersionResponse
Provides a detailed description of a specified version of the application.
-
#discover_input_schema(params = {}) ⇒ Types::DiscoverInputSchemaResponse
Infers a schema for a SQL-based Kinesis Data Analytics application by evaluating sample records on the specified streaming source (Kinesis data stream or Kinesis Data Firehose delivery stream) or Amazon S3 object.
-
#list_application_snapshots(params = {}) ⇒ Types::ListApplicationSnapshotsResponse
Lists information about the current application snapshots.
-
#list_application_versions(params = {}) ⇒ Types::ListApplicationVersionsResponse
Lists all the versions for the specified application, including versions that were rolled back.
-
#list_applications(params = {}) ⇒ Types::ListApplicationsResponse
Returns a list of Kinesis Data Analytics applications in your account.
-
#list_tags_for_resource(params = {}) ⇒ Types::ListTagsForResourceResponse
Retrieves the list of key-value tags assigned to the application.
-
#rollback_application(params = {}) ⇒ Types::RollbackApplicationResponse
Reverts the application to the previous running version.
-
#start_application(params = {}) ⇒ Struct
Starts the specified Kinesis Data Analytics application.
-
#stop_application(params = {}) ⇒ Struct
Stops the application from processing data.
-
#tag_resource(params = {}) ⇒ Struct
Adds one or more key-value tags to a Kinesis Data Analytics application.
-
#untag_resource(params = {}) ⇒ Struct
Removes one or more tags from a Kinesis Data Analytics application.
-
#update_application(params = {}) ⇒ Types::UpdateApplicationResponse
Updates an existing Kinesis Data Analytics application.
-
#update_application_maintenance_configuration(params = {}) ⇒ Types::UpdateApplicationMaintenanceConfigurationResponse
Updates the maintenance configuration of the Kinesis Data Analytics application.
Class Method Summary collapse
- .errors_module ⇒ Object private
Instance Method Summary collapse
- #build_request(operation_name, params = {}) ⇒ Object private
-
#initialize(options) ⇒ Client
constructor
A new instance of Client.
- #waiter_names ⇒ Object deprecated private Deprecated.
Constructor Details
#initialize(options) ⇒ Client
Returns a new instance of Client.
391 392 393 |
# File 'lib/aws-sdk-kinesisanalyticsv2/client.rb', line 391 def initialize(*args) super end |
Class Attribute Details
.identifier ⇒ Object (readonly)
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
3059 3060 3061 |
# File 'lib/aws-sdk-kinesisanalyticsv2/client.rb', line 3059 def identifier @identifier end |
Class Method Details
.errors_module ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
3062 3063 3064 |
# File 'lib/aws-sdk-kinesisanalyticsv2/client.rb', line 3062 def errors_module Errors end |
Instance Method Details
#add_application_cloud_watch_logging_option(params = {}) ⇒ Types::AddApplicationCloudWatchLoggingOptionResponse
Adds an Amazon CloudWatch log stream to monitor application configuration errors.
451 452 453 454 |
# File 'lib/aws-sdk-kinesisanalyticsv2/client.rb', line 451 def add_application_cloud_watch_logging_option(params = {}, = {}) req = build_request(:add_application_cloud_watch_logging_option, params) req.send_request() end |
#add_application_input(params = {}) ⇒ Types::AddApplicationInputResponse
Adds a streaming source to your SQL-based Kinesis Data Analytics application.
You can add a streaming source when you create an application, or you can use this operation to add a streaming source after you create an application. For more information, see CreateApplication.
Any configuration update, including adding a streaming source using this operation, results in a new version of the application. You can use the DescribeApplication operation to find the current application version.
563 564 565 566 |
# File 'lib/aws-sdk-kinesisanalyticsv2/client.rb', line 563 def add_application_input(params = {}, = {}) req = build_request(:add_application_input, params) req.send_request() end |
#add_application_input_processing_configuration(params = {}) ⇒ Types::AddApplicationInputProcessingConfigurationResponse
Adds an InputProcessingConfiguration to a SQL-based Kinesis Data Analytics application. An input processor pre-processes records on the input stream before the application’s SQL code executes. Currently, the only input processor available is [Amazon Lambda].
628 629 630 631 |
# File 'lib/aws-sdk-kinesisanalyticsv2/client.rb', line 628 def add_application_input_processing_configuration(params = {}, = {}) req = build_request(:add_application_input_processing_configuration, params) req.send_request() end |
#add_application_output(params = {}) ⇒ Types::AddApplicationOutputResponse
Adds an external destination to your SQL-based Kinesis Data Analytics application.
If you want Kinesis Data Analytics to deliver data from an in-application stream within your application to an external destination (such as an Kinesis data stream, a Kinesis Data Firehose delivery stream, or an Amazon Lambda function), you add the relevant configuration to your application using this operation. You can configure one or more outputs for your application. Each output configuration maps an in-application stream and an external destination.
You can use one of the output configurations to deliver data from your in-application error stream to an external destination so that you can analyze the errors.
Any configuration update, including adding a streaming source using this operation, results in a new version of the application. You can use the DescribeApplication operation to find the current application version.
718 719 720 721 |
# File 'lib/aws-sdk-kinesisanalyticsv2/client.rb', line 718 def add_application_output(params = {}, = {}) req = build_request(:add_application_output, params) req.send_request() end |
#add_application_reference_data_source(params = {}) ⇒ Types::AddApplicationReferenceDataSourceResponse
Adds a reference data source to an existing SQL-based Kinesis Data Analytics application.
Kinesis Data Analytics reads reference data (that is, an Amazon S3 object) and creates an in-application table within your application. In the request, you provide the source (S3 bucket name and object key name), name of the in-application table to create, and the necessary mapping information that describes how data in an Amazon S3 object maps to columns in the resulting in-application table.
814 815 816 817 |
# File 'lib/aws-sdk-kinesisanalyticsv2/client.rb', line 814 def add_application_reference_data_source(params = {}, = {}) req = build_request(:add_application_reference_data_source, params) req.send_request() end |
#add_application_vpc_configuration(params = {}) ⇒ Types::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 Kinesis Data Analytics applications:
-
VPC configurations are not supported for SQL applications.
-
When a VPC is added to a Kinesis Data Analytics 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.
888 889 890 891 |
# File 'lib/aws-sdk-kinesisanalyticsv2/client.rb', line 888 def add_application_vpc_configuration(params = {}, = {}) req = build_request(:add_application_vpc_configuration, params) req.send_request() end |
#build_request(operation_name, params = {}) ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
3037 3038 3039 3040 3041 3042 3043 3044 3045 3046 3047 3048 |
# File 'lib/aws-sdk-kinesisanalyticsv2/client.rb', line 3037 def build_request(operation_name, params = {}) handlers = @handlers.for(operation_name) context = Seahorse::Client::RequestContext.new( operation_name: operation_name, operation: config.api.operation(operation_name), client: self, params: params, config: config) context[:gem_name] = 'aws-sdk-kinesisanalyticsv2' context[:gem_version] = '1.47.0' Seahorse::Client::Request.new(handlers, context) end |
#create_application(params = {}) ⇒ Types::CreateApplicationResponse
Creates a Kinesis Data Analytics application. For information about creating a Kinesis Data Analytics application, see [Creating an Application].
[1]: docs.aws.amazon.com/kinesisanalytics/latest/java/getting-started.html
1258 1259 1260 1261 |
# File 'lib/aws-sdk-kinesisanalyticsv2/client.rb', line 1258 def create_application(params = {}, = {}) req = build_request(:create_application, params) req.send_request() end |
#create_application_presigned_url(params = {}) ⇒ Types::CreateApplicationPresignedUrlResponse
Creates and returns a URL that you can use to connect to an application’s extension.
The IAM role or user used to call this API defines the permissions to access the extension. After the presigned URL is created, no additional permission is required to access this URL. IAM authorization policies for this API are also enforced for every HTTP request that attempts to connect to the extension.
You control the amount of time that the URL will be valid using the ‘SessionExpirationDurationInSeconds` parameter. If you do not provide this parameter, the returned URL is valid for twelve hours.
<note markdown=“1”> The URL that you get from a call to CreateApplicationPresignedUrl must be used within 3 minutes to be valid. If you first try to use the URL after the 3-minute limit expires, the service returns an HTTP 403 Forbidden error.
</note>
1313 1314 1315 1316 |
# File 'lib/aws-sdk-kinesisanalyticsv2/client.rb', line 1313 def create_application_presigned_url(params = {}, = {}) req = build_request(:create_application_presigned_url, params) req.send_request() end |
#create_application_snapshot(params = {}) ⇒ Struct
Creates a snapshot of the application’s state data.
1339 1340 1341 1342 |
# File 'lib/aws-sdk-kinesisanalyticsv2/client.rb', line 1339 def create_application_snapshot(params = {}, = {}) req = build_request(:create_application_snapshot, params) req.send_request() end |
#delete_application(params = {}) ⇒ Struct
Deletes the specified application. Kinesis Data Analytics halts application execution and deletes the application.
1366 1367 1368 1369 |
# File 'lib/aws-sdk-kinesisanalyticsv2/client.rb', line 1366 def delete_application(params = {}, = {}) req = build_request(:delete_application, params) req.send_request() end |
#delete_application_cloud_watch_logging_option(params = {}) ⇒ Types::DeleteApplicationCloudWatchLoggingOptionResponse
Deletes an Amazon CloudWatch log stream from an Kinesis Data Analytics application.
1425 1426 1427 1428 |
# File 'lib/aws-sdk-kinesisanalyticsv2/client.rb', line 1425 def delete_application_cloud_watch_logging_option(params = {}, = {}) req = build_request(:delete_application_cloud_watch_logging_option, params) req.send_request() end |
#delete_application_input_processing_configuration(params = {}) ⇒ Types::DeleteApplicationInputProcessingConfigurationResponse
Deletes an InputProcessingConfiguration from an input.
1468 1469 1470 1471 |
# File 'lib/aws-sdk-kinesisanalyticsv2/client.rb', line 1468 def delete_application_input_processing_configuration(params = {}, = {}) req = build_request(:delete_application_input_processing_configuration, params) req.send_request() end |
#delete_application_output(params = {}) ⇒ Types::DeleteApplicationOutputResponse
Deletes the output destination configuration from your SQL-based Kinesis Data Analytics application’s configuration. Kinesis Data Analytics will no longer write data from the corresponding in-application stream to the external output destination.
1517 1518 1519 1520 |
# File 'lib/aws-sdk-kinesisanalyticsv2/client.rb', line 1517 def delete_application_output(params = {}, = {}) req = build_request(:delete_application_output, params) req.send_request() end |
#delete_application_reference_data_source(params = {}) ⇒ Types::DeleteApplicationReferenceDataSourceResponse
Deletes a reference data source configuration from the specified SQL-based Kinesis Data Analytics application’s configuration.
If the application is running, Kinesis Data Analytics immediately removes the in-application table that you created using the AddApplicationReferenceDataSource operation.
1567 1568 1569 1570 |
# File 'lib/aws-sdk-kinesisanalyticsv2/client.rb', line 1567 def delete_application_reference_data_source(params = {}, = {}) req = build_request(:delete_application_reference_data_source, params) req.send_request() end |
#delete_application_snapshot(params = {}) ⇒ Struct
Deletes a snapshot of application state.
1598 1599 1600 1601 |
# File 'lib/aws-sdk-kinesisanalyticsv2/client.rb', line 1598 def delete_application_snapshot(params = {}, = {}) req = build_request(:delete_application_snapshot, params) req.send_request() end |
#delete_application_vpc_configuration(params = {}) ⇒ Types::DeleteApplicationVpcConfigurationResponse
Removes a VPC configuration from a Kinesis Data Analytics application.
1649 1650 1651 1652 |
# File 'lib/aws-sdk-kinesisanalyticsv2/client.rb', line 1649 def delete_application_vpc_configuration(params = {}, = {}) req = build_request(:delete_application_vpc_configuration, params) req.send_request() end |
#describe_application(params = {}) ⇒ Types::DescribeApplicationResponse
Returns information about a specific Kinesis Data Analytics application.
If you want to retrieve a list of all applications in your account, use the ListApplications operation.
1799 1800 1801 1802 |
# File 'lib/aws-sdk-kinesisanalyticsv2/client.rb', line 1799 def describe_application(params = {}, = {}) req = build_request(:describe_application, params) req.send_request() end |
#describe_application_snapshot(params = {}) ⇒ Types::DescribeApplicationSnapshotResponse
Returns information about a snapshot of application state data.
1835 1836 1837 1838 |
# File 'lib/aws-sdk-kinesisanalyticsv2/client.rb', line 1835 def describe_application_snapshot(params = {}, = {}) req = build_request(:describe_application_snapshot, params) req.send_request() end |
#describe_application_version(params = {}) ⇒ Types::DescribeApplicationVersionResponse
Provides a detailed description of a specified version of the application. To see a list of all the versions of an application, invoke the ListApplicationVersions operation.
<note markdown=“1”> This operation is supported only for Amazon Kinesis Data Analytics for Apache Flink.
</note>
1989 1990 1991 1992 |
# File 'lib/aws-sdk-kinesisanalyticsv2/client.rb', line 1989 def describe_application_version(params = {}, = {}) req = build_request(:describe_application_version, params) req.send_request() end |
#discover_input_schema(params = {}) ⇒ Types::DiscoverInputSchemaResponse
Infers a schema for a SQL-based Kinesis Data Analytics application by evaluating sample records on the specified streaming source (Kinesis data stream or Kinesis Data Firehose delivery stream) or Amazon S3 object. In the response, the operation returns the inferred schema and also the sample records that the operation used to infer the schema.
You can use the inferred schema when configuring a streaming source for your application. When you create an application using the Kinesis Data Analytics console, the console uses this operation to infer a schema and show it in the console user interface.
2072 2073 2074 2075 |
# File 'lib/aws-sdk-kinesisanalyticsv2/client.rb', line 2072 def discover_input_schema(params = {}, = {}) req = build_request(:discover_input_schema, params) req.send_request() end |
#list_application_snapshots(params = {}) ⇒ Types::ListApplicationSnapshotsResponse
Lists information about the current application snapshots.
2117 2118 2119 2120 |
# File 'lib/aws-sdk-kinesisanalyticsv2/client.rb', line 2117 def list_application_snapshots(params = {}, = {}) req = build_request(:list_application_snapshots, params) req.send_request() end |
#list_application_versions(params = {}) ⇒ Types::ListApplicationVersionsResponse
Lists all the versions for the specified application, including versions that were rolled back. The response also includes a summary of the configuration associated with each version.
To get the complete description of a specific application version, invoke the DescribeApplicationVersion operation.
<note markdown=“1”> This operation is supported only for Amazon Kinesis Data Analytics for Apache Flink.
</note>
2175 2176 2177 2178 |
# File 'lib/aws-sdk-kinesisanalyticsv2/client.rb', line 2175 def list_application_versions(params = {}, = {}) req = build_request(:list_application_versions, params) req.send_request() end |
#list_applications(params = {}) ⇒ Types::ListApplicationsResponse
Returns a list of Kinesis Data Analytics applications in your account. For each application, the response includes the application name, Amazon Resource Name (ARN), and status.
If you want detailed information about a specific application, use DescribeApplication.
2227 2228 2229 2230 |
# File 'lib/aws-sdk-kinesisanalyticsv2/client.rb', line 2227 def list_applications(params = {}, = {}) req = build_request(:list_applications, params) req.send_request() end |
#list_tags_for_resource(params = {}) ⇒ Types::ListTagsForResourceResponse
Retrieves the list of key-value tags assigned to the application. For more information, see [Using Tagging].
[1]: docs.aws.amazon.com/kinesisanalytics/latest/java/how-tagging.html
2262 2263 2264 2265 |
# File 'lib/aws-sdk-kinesisanalyticsv2/client.rb', line 2262 def (params = {}, = {}) req = build_request(:list_tags_for_resource, params) req.send_request() end |
#rollback_application(params = {}) ⇒ Types::RollbackApplicationResponse
Reverts the application to the previous running version. You can roll back an application if you suspect it is stuck in a transient status.
You can roll back an application only if it is in the ‘UPDATING` or `AUTOSCALING` status.
When you rollback an application, it loads state data from the last successful snapshot. If the application has no snapshots, Kinesis Data Analytics rejects the rollback request.
This action is not supported for Kinesis Data Analytics for SQL applications.
2419 2420 2421 2422 |
# File 'lib/aws-sdk-kinesisanalyticsv2/client.rb', line 2419 def rollback_application(params = {}, = {}) req = build_request(:rollback_application, params) req.send_request() end |
#start_application(params = {}) ⇒ Struct
Starts the specified Kinesis Data Analytics application. After creating an application, you must exclusively call this operation to start your application.
2464 2465 2466 2467 |
# File 'lib/aws-sdk-kinesisanalyticsv2/client.rb', line 2464 def start_application(params = {}, = {}) req = build_request(:start_application, params) req.send_request() end |
#stop_application(params = {}) ⇒ Struct
Stops the application from processing data. You can stop an application only if it is in the running status, unless you set the ‘Force` parameter to `true`.
You can use the DescribeApplication operation to find the application status.
Kinesis Data Analytics takes a snapshot when the application is stopped, unless ‘Force` is set to `true`.
2514 2515 2516 2517 |
# File 'lib/aws-sdk-kinesisanalyticsv2/client.rb', line 2514 def stop_application(params = {}, = {}) req = build_request(:stop_application, params) req.send_request() end |
#tag_resource(params = {}) ⇒ Struct
Adds one or more key-value tags to a Kinesis Data Analytics application. Note that the maximum number of application tags includes system tags. The maximum number of user-defined application tags is
-
For more information, see [Using Tagging].
[1]: docs.aws.amazon.com/kinesisanalytics/latest/java/how-tagging.html
2552 2553 2554 2555 |
# File 'lib/aws-sdk-kinesisanalyticsv2/client.rb', line 2552 def tag_resource(params = {}, = {}) req = build_request(:tag_resource, params) req.send_request() end |
#untag_resource(params = {}) ⇒ Struct
Removes one or more tags from a Kinesis Data Analytics application. For more information, see [Using Tagging].
[1]: docs.aws.amazon.com/kinesisanalytics/latest/java/how-tagging.html
2584 2585 2586 2587 |
# File 'lib/aws-sdk-kinesisanalyticsv2/client.rb', line 2584 def untag_resource(params = {}, = {}) req = build_request(:untag_resource, params) req.send_request() end |
#update_application(params = {}) ⇒ Types::UpdateApplicationResponse
Updates an existing Kinesis Data Analytics application. Using this operation, you can update application code, input configuration, and output configuration.
Kinesis Data Analytics updates the ‘ApplicationVersionId` each time you update your application.
<note markdown=“1”> You cannot update the ‘RuntimeEnvironment` of an existing application. If you need to update an application’s ‘RuntimeEnvironment`, you must delete the application and create it again.
</note>
2962 2963 2964 2965 |
# File 'lib/aws-sdk-kinesisanalyticsv2/client.rb', line 2962 def update_application(params = {}, = {}) req = build_request(:update_application, params) req.send_request() end |
#update_application_maintenance_configuration(params = {}) ⇒ Types::UpdateApplicationMaintenanceConfigurationResponse
Updates the maintenance configuration of the Kinesis Data Analytics application.
You can invoke this operation on an application that is in one of the two following states: ‘READY` or `RUNNING`. If you invoke it when the application is in a state other than these two states, it throws a `ResourceInUseException`. The service makes use of the updated configuration the next time it schedules maintenance for the application. If you invoke this operation after the service schedules maintenance, the service will apply the configuration update the next time it schedules maintenance for the application. This means that you might not see the maintenance configuration update applied to the maintenance process that follows a successful invocation of this operation, but to the following maintenance process instead.
To see the current maintenance configuration of your application, invoke the DescribeApplication operation.
For information about application maintenance, see [Kinesis Data Analytics for Apache Flink Maintenance].
<note markdown=“1”> This operation is supported only for Amazon Kinesis Data Analytics for Apache Flink.
</note>
[1]: docs.aws.amazon.com/kinesisanalytics/latest/java/maintenance.html
3028 3029 3030 3031 |
# File 'lib/aws-sdk-kinesisanalyticsv2/client.rb', line 3028 def update_application_maintenance_configuration(params = {}, = {}) req = build_request(:update_application_maintenance_configuration, params) req.send_request() end |
#waiter_names ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
3052 3053 3054 |
# File 'lib/aws-sdk-kinesisanalyticsv2/client.rb', line 3052 def waiter_names [] end |