Skip to content

delete_launch_template_versions

delete_launch_template_versions(
    *,
    config_overrides: Optional[EC2ClientConfig] = None,
    dry_run: Optional[Boolean] = None,
    launch_template_id: Optional[LaunchTemplateId] = None,
    launch_template_name: Optional[LaunchTemplateName] = None,
    versions: Optional[VersionStringList] = None,
) -> DeleteLaunchTemplateVersionsResult

Deletes one or more versions of a launch template.

You can't delete the default version of a launch template; you must first assign a different version as the default. If the default version is the only version for the launch template, you must delete the entire launch template using DeleteLaunchTemplate.

You can delete up to 200 launch template versions in a single request. To delete more than 200 versions in a single request, use DeleteLaunchTemplate, which deletes the launch template and all of its versions.

For more information, see Delete a launch template version 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.

  • launch_template_id (Optional[LaunchTemplateId], default: None ) –

    The ID of the launch template.

    You must specify either the launch template ID or the launch template name, but not both.

  • launch_template_name (Optional[LaunchTemplateName], default: None ) –

    The name of the launch template.

    You must specify either the launch template ID or the launch template name, but not both.

  • versions (Optional[VersionStringList], default: None ) –

    The version numbers of one or more launch template versions to delete. You can specify up to 200 launch template version numbers.

Raises:

Examples:

To delete a launch template version This example deletes the specified launch template version.

>>> client.delete_launch_template_versions(launch_template_id='lt-0abcd290751193123', versions=['1'])
Source code in docs_src/capo_ec2/_services/ec2.py
def delete_launch_template_versions(
    self,
    *,
    config_overrides: Optional[EC2ClientConfig] = None,
    dry_run: Optional["capo_ec2.types.boolean.Boolean"] = None,
    launch_template_id: Optional[
        "capo_ec2.types.launch_template_id.LaunchTemplateId"
    ] = None,
    launch_template_name: Optional[
        "capo_ec2.types.launch_template_name.LaunchTemplateName"
    ] = None,
    versions: Optional[
        "capo_ec2.types.version_string_list.VersionStringList"
    ] = None,
) -> "capo_ec2.types.delete_launch_template_versions_result.DeleteLaunchTemplateVersionsResult":
    """<p>Deletes one or more versions of a launch template.</p> <p>You can't delete the default version of a launch template; you must first assign a different version as the default. If the default version is the only version for the launch template, you must delete the entire launch template using <a>DeleteLaunchTemplate</a>.</p> <p>You can delete up to 200 launch template versions in a single request. To delete more than 200 versions in a single request, use <a>DeleteLaunchTemplate</a>, which deletes the launch template and all of its versions.</p> <p>For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/delete-launch-template.html#delete-launch-template-version">Delete a launch template version</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>
        launch_template_id: <p>The ID of the launch template.</p> <p>You must specify either the launch template ID or the launch template name, but not both.</p>
        launch_template_name: <p>The name of the launch template.</p> <p>You must specify either the launch template ID or the launch template name, but not both.</p>
        versions: <p>The version numbers of one or more launch template versions to delete. You can specify up to 200 launch template version numbers.</p>

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

    Examples:
        To delete a launch template version
        This example deletes the specified launch template version.

        >>> client.delete_launch_template_versions(launch_template_id='lt-0abcd290751193123', versions=['1'])
    """

    def _handler(
        req: "OperationRequest[capo_ec2.types.delete_launch_template_versions_request.DeleteLaunchTemplateVersionsRequest]",
    ) -> OperationResponse[
        "capo_ec2.types.delete_launch_template_versions_result.DeleteLaunchTemplateVersionsResult"
    ]:
        import capo_ec2._operations.amazon_ec2.delete_launch_template_versions

        output, http_response = (
            capo_ec2._operations.amazon_ec2.delete_launch_template_versions.delete_launch_template_versions(
                req.options, req.input
            )
        )
        return OperationResponse(output=output, response=http_response)

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("DeleteLaunchTemplateVersions")
    )
    input_: capo_ec2.types.delete_launch_template_versions_request.DeleteLaunchTemplateVersionsRequest = {}
    if dry_run is not None:
        input_["dry_run"] = dry_run
    if launch_template_id is not None:
        input_["launch_template_id"] = launch_template_id
    if launch_template_name is not None:
        input_["launch_template_name"] = launch_template_name
    if versions is not None:
        input_["versions"] = versions

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