Skip to content

create_spot_datafeed_subscription async

create_spot_datafeed_subscription(
    *,
    config_overrides: Optional[AsyncEC2ClientConfig] = None,
    dry_run: Optional[Boolean] = None,
    bucket: Optional[String] = None,
    prefix: Optional[String] = None,
) -> CreateSpotDatafeedSubscriptionResult

Creates a data feed for Spot Instances, enabling you to view Spot Instance usage logs. You can create one data feed per Amazon Web Services account. For more information, see Spot Instance data feed in the Amazon EC2 User Guide.

Parameters:

  • dry_run (Optional[Boolean], default: None ) –

    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 DryRunOperation. Otherwise, it is UnauthorizedOperation.

  • bucket (Optional[String], default: None ) –

    The name of the Amazon S3 bucket in which to store the Spot Instance data feed. For more information about bucket names, see Bucket naming rules in the Amazon S3 User Guide.

  • prefix (Optional[String], default: None ) –

    The prefix for the data feed file names.

Raises:

Examples:

To create a Spot Instance datafeed This example creates a Spot Instance data feed for your AWS account.

>>> await client.create_spot_datafeed_subscription(bucket='my-s3-bucket', prefix='spotdata')
Source code in docs_src/capo_ec2/_services/async_ec2.py
async def create_spot_datafeed_subscription(
    self,
    *,
    config_overrides: Optional[AsyncEC2ClientConfig] = None,
    dry_run: Optional["capo_ec2.types.boolean.Boolean"] = None,
    bucket: Optional["capo_ec2.types.string.String"] = None,
    prefix: Optional["capo_ec2.types.string.String"] = None,
) -> "capo_ec2.types.create_spot_datafeed_subscription_result.CreateSpotDatafeedSubscriptionResult":
    """<p>Creates a data feed for Spot Instances, enabling you to view Spot Instance usage logs. You can create one data feed per Amazon Web Services account. For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-data-feeds.html">Spot Instance data feed</a> in the <i>Amazon EC2 User Guide</i>.</p>

    Args:
        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>
        bucket: <p>The name of the Amazon S3 bucket in which to store the Spot Instance data feed. For more information about bucket names, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html">Bucket naming rules</a> in the <i>Amazon S3 User Guide</i>.</p>
        prefix: <p>The prefix for the data feed file names.</p>

    Raises:
        capo_ec2.errors.UnknownServiceError: The service returned an error code this client does not model.

    Examples:
        To create a Spot Instance datafeed
        This example creates a Spot Instance data feed for your AWS account.

        >>> await client.create_spot_datafeed_subscription(bucket='my-s3-bucket', prefix='spotdata')
    """

    async def _handler(
        req: "AsyncOperationRequest[capo_ec2.types.create_spot_datafeed_subscription_request.CreateSpotDatafeedSubscriptionRequest]",
    ) -> AsyncOperationResponse[
        "capo_ec2.types.create_spot_datafeed_subscription_result.CreateSpotDatafeedSubscriptionResult"
    ]:
        import capo_ec2._operations.amazon_ec2.create_spot_datafeed_subscription

        (
            output,
            http_response,
        ) = await capo_ec2._operations.amazon_ec2.create_spot_datafeed_subscription.async_create_spot_datafeed_subscription(
            req.options, req.input
        )
        return AsyncOperationResponse(output=output, response=http_response)

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("CreateSpotDatafeedSubscription")
    )
    input_: capo_ec2.types.create_spot_datafeed_subscription_request.CreateSpotDatafeedSubscriptionRequest = {}
    if dry_run is not None:
        input_["dry_run"] = dry_run
    if bucket is not None:
        input_["bucket"] = bucket
    if prefix is not None:
        input_["prefix"] = prefix

    response = await aexecute_pipeline(
        AsyncOperationRequest(input=input_, options=options_),
        handler=_handler,
        interceptors=list(interceptors_),
    )
    await response.response.aclose()
    return response.output