---
title: "Delete Index Objects"
description: "Delete index objects for target blob"
source: "https://github.com/log-10x/modules/tree/main/pipelines/run/modules/input/objectStorage/delete/module.yaml"
icon: "material/target"
hidden: "true"

---
Deletes [TenXTemplate Filters](https://doc.log10x.com/run/input/objectStorage/index/#tenxtemplate-filters) when a storage object (e.g., S3) is removed. Runs as a deletion trigger to clean up associated index objects.

## :material-wrench-outline: Config Files

To configure the Delete index objects module, [:material-cog: Edit](https://doc.log10x.com/config/app/#module-config "Learn how to edit app and module configurations") these files.  

Below is the default configuration from: [delete/config.yaml](https://github.dev/log-10x/config/blob/main/pipelines/run/input/objectStorage/delete/config.yaml "delete/config.yaml"){target="\_blank"}.  
  
<div class="edit-options">
    <a class="md-button tenx-edit-online-button" data-tooltip="Edit online on github.dev" href="https://github.dev/log-10x/config/blob/main/pipelines/run/input/objectStorage/delete/config.yaml" target="_blank" rel="noopener noreferrer">
        <span class="twemoji" style="margin-right: 0.3rem;">
            <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
                <path d="M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12"></path>
            </svg>
        </span> Edit Online
    </a>
    <button class="md-button tenx-config.yaml0-edit-button" data-tooltip="Edit configuration file" data-dialog-id="config-yaml0-dialog">
        <span style="margin-right: 0.3rem;">
            <span class="twemoji">
                <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
                    <path d="M20.71,7.04C21.1,6.65 21.1,6 20.71,5.63L18.37,3.29C18,2.9 17.35,2.9 16.96,3.29L15.12,5.12L18.87,8.87M3,17.25V21H6.75L17.81,9.93L14.06,6.18L3,17.25Z"></path>
                </svg>
            </span>
        </span>Edit Locally
    </button>
</div>

<dialog id="config-yaml0-dialog" class="md-dialog md-dialog--editor">
    <div class="editor-dialog-wrapper">
        <div class="editor-dialog-header">
            <span class="editor-dialog-title">Edit config.yaml Locally</span>
            <div class="editor-header-actions">
                <button class="editor-toolbar-btn yaml-editor-locations" data-tooltip="Save">
                    <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="currentColor" d="M5 20h14v-2H5v2m14-9h-4V3H9v8H5l7 7 7-7Z"></path></svg>
                </button>
                <button class="editor-toolbar-btn yaml-editor-reset" data-tooltip="Reset to default">
                    <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="currentColor" d="M12.5 8c-2.65 0-5.05 1-6.9 2.6L2 7v9h9l-3.62-3.62c1.39-1.16 3.16-1.88 5.12-1.88 3.54 0 6.55 2.31 7.6 5.5l2.37-.78C21.08 11.03 17.15 8 12.5 8z"></path></svg>
                </button>
                <button class="editor-toolbar-btn yaml-editor-copy" data-tooltip="Copy to clipboard">
                    <svg class="icon-copy" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="currentColor" d="M19 21H8V7h11m0-2H8a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h11a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2m-3-4H4a2 2 0 0 0-2 2v14h2V3h12V1Z"></path></svg>
                    <svg class="icon-check" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" style="display:none;"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg>
                </button>
                <span class="header-divider"></span>
                <button class="editor-toolbar-btn yaml-editor-fullscreen" data-tooltip="Fullscreen">
                    <svg class="icon-maximize" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="currentColor" d="M5,5H10V7H7V10H5V5M14,5H19V10H17V7H14V5M17,14H19V19H14V17H17V14M10,17V19H5V14H7V17H10Z"></path></svg>
                    <svg class="icon-minimize" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" style="display:none;"><path fill="currentColor" d="M5,16H8V19H10V14H5V16M14,14V19H16V16H19V14H14M16,5V8H19V10H14V5H16M10,5V10H5V8H8V5H10Z"></path></svg>
                </button>
                <span class="header-divider"></span>
                <button class="editor-toolbar-btn editor-dialog-close" onclick="closeDialog('config-yaml0-dialog')" data-tooltip="Close">
                    <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="currentColor" d="M19,6.41L17.59,5L12,10.59L6.41,5L5,6.41L10.59,12L5,17.59L6.41,19L12,13.41L17.59,19L19,17.59L13.41,12L19,6.41Z"></path></svg>
                </button>
            </div>
        </div>
        <div class="editor-dialog-content">
            <div class="yaml-editor-container"></div>
        </div>
        <div class="yaml-editor-statusbar">
            <span class="yaml-editor-status"></span>
        </div>
    </div>
    <!-- Locations Popup -->
    <div class="locations-popup" style="display: none;">
        <div class="locations-popup-content">
            <div class="locations-popup-header">
                <span class="locations-header-label">Download and save to:</span>
                <button class="locations-popup-close" aria-label="Close">
                    <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="16" height="16">
                        <path fill="currentColor" d="M19,6.41L17.59,5L12,10.59L6.41,5L5,6.41L10.59,12L5,17.59L6.41,19L12,13.41L17.59,19L19,17.59L13.41,12L19,6.41Z"></path>
                    </svg>
                </button>
            </div>
            <ul class="locations-list">
                <li>
                    <span class="location-label">Linux / Docker / macOS
                        <span class="help-icon" data-tooltip="Default system location. The engine automatically reads configs from here at startup. Best for production deployments.">
                            <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="12" height="12"><path fill="currentColor" d="M11 18h2v-2h-2v2m1-16A10 10 0 0 0 2 12a10 10 0 0 0 10 10 10 10 0 0 0 10-10A10 10 0 0 0 12 2m0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8m0-14a4 4 0 0 0-4 4h2a2 2 0 0 1 2-2 2 2 0 0 1 2 2c0 2-3 1.75-3 5h2c0-2.25 3-2.5 3-5a4 4 0 0 0-4-4Z"/></svg>
                        </span>
                    </span>
                    <div class="location-path-row">
                        <code class="default-path location-path" data-tooltip=""
                            data-copy-osx="/etc/log10x/config/run/input/objectStorage/delete/config.yaml"
                            data-copy-nix="/etc/log10x/config/run/input/objectStorage/delete/config.yaml"
                            data-copy-win="C:\log10x\configs/run/input/objectStorage/delete/config.yaml"></code>
                        <button class="copy-btn" data-tooltip="Copy path">
                            <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="14" height="14">
                                <path fill="currentColor" d="M19 21H8V7h11m0-2H8a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h11a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2m-3-4H4a2 2 0 0 0-2 2v14h2V3h12V1Z"></path>
                            </svg>
                        </button>
                    </div>
                </li>
                <li>
                    <span class="location-label">Custom directory
                        <span class="help-icon" data-tooltip="Set TENX_CONFIG environment variable to point to a custom config directory. Useful when you want configs in a non-standard location.">
                            <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="12" height="12"><path fill="currentColor" d="M11 18h2v-2h-2v2m1-16A10 10 0 0 0 2 12a10 10 0 0 0 10 10 10 10 0 0 0 10-10A10 10 0 0 0 12 2m0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8m0-14a4 4 0 0 0-4 4h2a2 2 0 0 1 2-2 2 2 0 0 1 2 2c0 2-3 1.75-3 5h2c0-2.25 3-2.5 3-5a4 4 0 0 0-4-4Z"/></svg>
                        </span>
                    </span>
                    <div class="location-path-row">
                        <code class="location-path" data-tooltip="$TENX_CONFIG/run/input/objectStorage/delete/config.yaml">$TENX_CONFIG/run/input/objectStorage/delete/config.yaml</code>
                        <button class="copy-btn" data-tooltip="Copy path">
                            <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="14" height="14">
                                <path fill="currentColor" d="M19 21H8V7h11m0-2H8a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h11a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2m-3-4H4a2 2 0 0 0-2 2v14h2V3h12V1Z"></path>
                            </svg>
                        </button>
                    </div>
                </li>
                <li>
                    <span class="location-label">Within cloned repo
                        <span class="help-icon" data-tooltip="First run: git clone github.com/log-10x/config. Then save the file to this path within the cloned folder. Use for version control.">
                            <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="12" height="12"><path fill="currentColor" d="M11 18h2v-2h-2v2m1-16A10 10 0 0 0 2 12a10 10 0 0 0 10 10 10 10 0 0 0 10-10A10 10 0 0 0 12 2m0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8m0-14a4 4 0 0 0-4 4h2a2 2 0 0 1 2-2 2 2 0 0 1 2 2c0 2-3 1.75-3 5h2c0-2.25 3-2.5 3-5a4 4 0 0 0-4-4Z"/></svg>
                        </span>
                    </span>
                    <div class="location-path-row">
                        <code class="location-path" data-tooltip="./pipelines/run/input/objectStorage/delete/config.yaml">./pipelines/run/input/objectStorage/delete/config.yaml</code>
                        <button class="copy-btn" data-tooltip="Copy path">
                            <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="14" height="14">
                                <path fill="currentColor" d="M19 21H8V7h11m0-2H8a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h11a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2m-3-4H4a2 2 0 0 0-2 2v14h2V3h12V1Z"></path>
                            </svg>
                        </button>
                    </div>
                </li>
            </ul>
            <div class="locations-popup-footer">
                <button class="locations-download-btn" title="Download config file">
                    <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="14" height="14">
                        <path fill="currentColor" d="M5 20h14v-2H5v2m14-9h-4V3H9v8H5l7 7 7-7Z"></path>
                    </svg>
                    <span>Download</span>
                </button>
            </div>
        </div>
    </div>
</dialog>

<template class="tenx-config-schema" data-encoding="base64">ewogICJ0eXBlIiA6ICJvYmplY3QiLAogICJwcm9wZXJ0aWVzIiA6IHsKICAgICJpbmNsdWRlIiA6IHsKICAgICAgInR5cGUiIDogInN0cmluZyIKICAgIH0sCiAgICAidGVueCIgOiB7CiAgICAgICJ0eXBlIiA6ICJzdHJpbmciCiAgICB9LAogICAgImluZGV4RGVsZXRlIiA6IHsKICAgICAgInR5cGUiIDogImFycmF5IiwKICAgICAgIml0ZW1zIiA6IHsKICAgICAgICAidHlwZSIgOiAib2JqZWN0IiwKICAgICAgICAiYWRkaXRpb25hbFByb3BlcnRpZXMiIDogZmFsc2UsCiAgICAgICAgInByb3BlcnRpZXMiIDogewogICAgICAgICAgIm9iamVjdFN0b3JhZ2VOYW1lIiA6IHsKICAgICAgICAgICAgInR5cGUiIDogWwogICAgICAgICAgICAgICJzdHJpbmciLAogICAgICAgICAgICAgICJudWxsIgogICAgICAgICAgICBdLAogICAgICAgICAgICAibWFya2Rvd25EZXNjcmlwdGlvbiIgOiAiT2JqZWN0IHN0b3JhZ2UgbG9naWNhbCBuYW1lXG5cbklkZW50aWZpZXMgdGhlIFtvYmplY3Qgc3RvcmFnZV0oaHR0cHM6Ly9kb2MubG9nMTB4LmNvbS9ydW4vaW5wdXQvb2JqZWN0U3RvcmFnZSNvYmplY3RzdG9yYWdlY2Nlc3NjbGFzc25hbWUpIGZyb20gd2hpY2ggdG8gZGVsZXRlIHRoZSB0YXJnZXQgaW5kZXggb2JqZWN0cyAoZS5nLiwgJ0FXUycpLiIKICAgICAgICAgIH0sCiAgICAgICAgICAib2JqZWN0U3RvcmFnZUFyZ3MiIDogewogICAgICAgICAgICAidHlwZSIgOiBbCiAgICAgICAgICAgICAgImFycmF5IiwKICAgICAgICAgICAgICAic3RyaW5nIiwKICAgICAgICAgICAgICAibnVsbCIKICAgICAgICAgICAgXSwKICAgICAgICAgICAgIm1hcmtkb3duRGVzY3JpcHRpb24iIDogIkN1c3RvbSBvYmplY3Qgc3RvcmFnZSBhcmdzXG5cbkN1c3RvbSBhcmd1bWVudHMgcGFzc2VkIGFzIGEgbWFwIHRvIHRoZSBjb25zdHJ1Y3RvciBvZiB0aGUgdW5kZXJseWluZyBbb2JqZWN0IHN0b3JhZ2VdKGh0dHBzOi8vZG9jLmxvZzEweC5jb20vcnVuL2lucHV0L29iamVjdFN0b3JhZ2UvaW5kZXgvZGVsZXRlLyNxdWVyeW9iamVjdG9iamVjdHN0b3JhZ2VuYW1lKS4gVGhpcyBsaXN0IGlzIGV4cGVjdGVkIHRvIGhvbGQgcGFpcnMgb2Yga2V5IHZhbHVlcyAoZS5nLiwgYXJnczogW2tleTEsIHZhbHVlMSwga2V5MiwgdmFsdWUyXSkiLAogICAgICAgICAgICAiaXRlbXMiIDogewogICAgICAgICAgICAgICJ0eXBlIiA6ICJzdHJpbmciCiAgICAgICAgICAgIH0KICAgICAgICAgIH0sCiAgICAgICAgICAiY29udGFpbmVyIiA6IHsKICAgICAgICAgICAgInR5cGUiIDogWwogICAgICAgICAgICAgICJzdHJpbmciLAogICAgICAgICAgICAgICJudWxsIgogICAgICAgICAgICBdLAogICAgICAgICAgICAibWFya2Rvd25EZXNjcmlwdGlvbiIgOiAiT2JqZWN0IHN0b3JhZ2UgY29udGFpbmVyIGNvbnRhaW5pbmcgaW5kZXggb2JqZWN0c1xuXG5TcGVjaWZpZXMgdGhlIG9iamVjdCBzdG9yYWdlIGNvbnRhaW5lciAoZS5nLiwgQVdTIFMzIGJ1Y2tldCkgbmFtZSBmcm9tIHdoaWNoIHRvIGRlbGV0ZSBbVGVuWFRlbXBsYXRlIEZpbHRlcnNdKGh0dHBzOi8vZG9jLmxvZzEweC5jb20vcnVuL2lucHV0L29iamVjdFN0b3JhZ2UvaW5kZXgvI3Rlbnh0ZW1wbGF0ZS1maWx0ZXJzKSIKICAgICAgICAgIH0sCiAgICAgICAgICAidGFyZ2V0IiA6IHsKICAgICAgICAgICAgInR5cGUiIDogWwogICAgICAgICAgICAgICJzdHJpbmciLAogICAgICAgICAgICAgICJudWxsIgogICAgICAgICAgICBdLAogICAgICAgICAgICAibWFya2Rvd25EZXNjcmlwdGlvbiIgOiAiTG9naWNhbCBuYW1lIGlkZW50aWZ5aW5nIHRoZSBvcmlnaW4gb2YgJ2luZGV4RGVsZXRlT2JqZWN0J1xuXG5TcGVjaWZpZXMgYSBsb2dpY2FsIG5hbWUgdG8gZGVsZXRlIFtUZW5YVGVtcGxhdGUgRmlsdGVyc10oaHR0cHM6Ly9kb2MubG9nMTB4LmNvbS9ydW4vaW5wdXQvb2JqZWN0U3RvcmFnZS9pbmRleC8jVGVuWFRlbXBsYXRlLWZpbHRlcnMpIHByb2R1Y2VkIGZvciBbaW5kZXhEZWxldGVUYXJnZXRPYmplY3RdKGh0dHBzOi8vZG9jLmxvZzEweC5jb20vcnVuL2lucHV0L29iamVjdFN0b3JhZ2UvaW5kZXgvZGVsZXRlLyNpbmRleGRlbGV0ZXRhcmdldE9iamVjdCkgdW5kZXIuIFRoaXMgbmFtZSBjb21tb25seSBzcGVjaWZpZXMgdGhlIGFwcCB3aGljaCBnZW5lcmF0ZWQgdGhlIGV2ZW50cyBlbmNsb3NlZCB3aXRoaW4gdGhpcyBibG9iIChlLmcuICdhY21lLWNsaWVudCcpLiIKICAgICAgICAgIH0sCiAgICAgICAgICAib2JqZWN0IiA6IHsKICAgICAgICAgICAgInR5cGUiIDogWwogICAgICAgICAgICAgICJzdHJpbmciLAogICAgICAgICAgICAgICJudWxsIgogICAgICAgICAgICBdLAogICAgICAgICAgICAibWFya2Rvd25EZXNjcmlwdGlvbiIgOiAiVGhlIHRhcmdldCBvYmplY3Qgd2hvc2UgaW5kZXggb2JqZWN0cyB0byBkZWxldGUgZnJvbSBzdG9yYWdlXG5cblNldHMgdGhlIG5hbWUgb2YgdGhlIG9iamVjdCAoZS5nLiwgbG9nIGZpbGUpIHdob3NlIGFzc29jaWF0ZWQgaW5kZXggb2JqZWN0cyB0byBkZWxldGUgZnJvbSBbaW5kZXhEZWxldGVDb250YWluZXJdKGh0dHBzOi8vZG9jLmxvZzEweC5jb20vcnVuL2lucHV0L29iamVjdFN0b3JhZ2UvaW5kZXgvZGVsZXRlLyNpbmRleGRlbGV0ZWNvbnRhaW5lcikiCiAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICAicmVxdWlyZWQiIDogWwogICAgICAgICAgIm9iamVjdFN0b3JhZ2VOYW1lIiwKICAgICAgICAgICJjb250YWluZXIiLAogICAgICAgICAgInRhcmdldCIsCiAgICAgICAgICAib2JqZWN0IgogICAgICAgIF0KICAgICAgfQogICAgfQogIH0sCiAgImFkZGl0aW9uYWxQcm9wZXJ0aWVzIiA6IHRydWUKfQ==</template>

```yaml
# 🔟❎ 'run' Object storage delete index objects configuration

# Configure query AWS S3 bucket settings
# To learn more see https://doc.log10x.com/run/input/objectStorage/index/delete

# Set the 10x pipeline to 'run'
tenx: run

# =============================== Dependencies ================================

include: run/modules/input/objectStorage/index/delete

# ============================= AWS S3 Query Options ==========================

indexDelete:

  # 'objectStorageName' selects the storage accessor alias registered by 'objectStorageClassName' (AWS or Azure).
  #  Set TENX_OBJECT_STORAGE_NAME to Azure to target Azure Blob Storage. Defaults to AWS.
  #  To learn more about configuring Object storage, see: https://doc.log10x.com/run/input/objectStorage

  # AWS Authentication is made via the default provider credentials chain:
  # https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/auth/credentials/DefaultCredentialsProvider.html

  # AWS Region selection is made via the default region provider chain:
  # https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/regions/providers/DefaultAwsRegionProviderChain.html

  - objectStorageName: $=TenXEnv.get("TENX_OBJECT_STORAGE_NAME", "AWS")

    # 'objectStorageArgs' provides arguments to the constructor of the class defined by 'objectStorageName'.
    # The 'invoke' argument sets how the storage accessor routes pipeline invocations.
    #  AWS accepts sqs, lambda or http. Azure accepts queue (Storage Queue) or http.
    #  Set TENX_OBJECT_STORAGE_INVOKE to override the default of sqs. An unknown value fails the accessor at construction.
    objectStorageArgs:
      - invoke
      - $=TenXEnv.get("TENX_OBJECT_STORAGE_INVOKE", "sqs")

    # 'container' specifies the container in which index objects created by the 'index' module reside.
    #  On AWS the S3 event notification in TENX_LAMBDA_INPUT carries the bucket name at Records[0].s3.bucket.name.
    #  On Azure the Event Grid BlobCreated event in TENX_LAMBDA_INPUT carries the blob URL at data.url as
    #  https://{account}.blob.core.windows.net/{container}/{blob}. The container is the path segment after the host:
    #  the first '/' found from index 8 closes the host (index 8 skips the scheme), the next '/' closes the container.
    container: '$=TenXEnv.get("TENX_OBJECT_STORAGE_NAME", "AWS") == "Azure" ? TenXString.substring(TenXString.jsonpath(TenXEnv.get("TENX_LAMBDA_INPUT"), "$.data.url"), TenXString.indexOf(TenXString.jsonpath(TenXEnv.get("TENX_LAMBDA_INPUT"), "$.data.url"), "/", 8) + 1, TenXString.indexOf(TenXString.jsonpath(TenXEnv.get("TENX_LAMBDA_INPUT"), "$.data.url"), "/", TenXString.indexOf(TenXString.jsonpath(TenXEnv.get("TENX_LAMBDA_INPUT"), "$.data.url"), "/", 8) + 1)) : TenXString.jsonpath(TenXEnv.get("TENX_LAMBDA_INPUT"), "$.Records[0].s3.bucket.name")'

    # 'target' sets a logical name under which output index objects reside.
    #  This commonly refers to the name of the application/service which generated
    #  'targetObject' (e.g., 'my-service', 'my-broker')
    target: app

    # 'targetObject' points to the blob (e.g., log file) within being deleted
    #  On AWS this is Records[0].s3.object.key. On Azure it is the rest of data.url after the container segment.
    object: '$=TenXEnv.get("TENX_OBJECT_STORAGE_NAME", "AWS") == "Azure" ? TenXString.substring(TenXString.jsonpath(TenXEnv.get("TENX_LAMBDA_INPUT"), "$.data.url"), TenXString.indexOf(TenXString.jsonpath(TenXEnv.get("TENX_LAMBDA_INPUT"), "$.data.url"), "/", TenXString.indexOf(TenXString.jsonpath(TenXEnv.get("TENX_LAMBDA_INPUT"), "$.data.url"), "/", 8) + 1) + 1, TenXString.length(TenXString.jsonpath(TenXEnv.get("TENX_LAMBDA_INPUT"), "$.data.url"))) : TenXString.jsonpath(TenXEnv.get("TENX_LAMBDA_INPUT"), "$.Records[0].s3.object.key")'
```

## :material-menu: Options

Specify the options below to [configure](/config "configure") multiple Delete index objects:

|Name|Description|Category|
|---|---|---|
|[indexDeleteObjectStorageName](#indexdeleteobjectstoragename "object storage logical name")|Object storage logical name|General|
|[indexDeleteContainer](#indexdeletecontainer "Object storage container containing index objects")|Object storage container containing index objects|General|
|[indexDeleteObject](#indexdeleteobject "the target object whose index objects to delete from storage")|The target object whose index objects to delete from storage|General|
|[indexDeleteObjectStorageArgs](#indexdeleteobjectstorageargs "custom object storage args")|Custom object storage args|Advanced|
|[indexDeleteTarget](#indexdeletetarget "logical name identifying the origin of 'indexDeleteObject'")|Logical name identifying the origin of 'indexDeleteObject'|Output|

### General

#### :material-menu-right-outline:**`indexDeleteObjectStorageName`**

Object storage logical name.

|Type|Required|Category|
|---|---|---|
|String|✔|General|

Identifies the [object storage](https://doc.log10x.com/run/input/objectStorage#objectstorageccessclassname)
from which to delete the target index objects (e.g., 'AWS').


#### :material-menu-right-outline:**`indexDeleteContainer`**

Object storage container containing index objects.

|Type|Required|Category|
|---|---|---|
|String|✔|General|

Specifies the object storage container (e.g., AWS S3 bucket)
name from which to delete [TenXTemplate Filters](https://doc.log10x.com/run/input/objectStorage/index/#tenxtemplate-filters).


#### :material-menu-right-outline:**`indexDeleteObject`**

The target object whose index objects to delete from storage.

|Type|Required|Category|
|---|---|---|
|String|✔|General|

Sets the name of the object (e.g., log file) whose associated index objects to delete from [indexDeleteContainer](https://doc.log10x.com/run/input/objectStorage/index/delete/#indexdeletecontainer).


### Advanced

#### :material-menu-right-outline:**`indexDeleteObjectStorageArgs`**

Custom object storage args.

|Type|Default|Category|
|---|---|---|
|List|\[\]|Advanced|

Custom arguments passed as a map to the constructor of the underlying [object storage](https://doc.log10x.com/run/input/objectStorage/index/delete/#queryobjectobjectstoragename).
This list is expected to hold pairs of key values (e.g., args: \[key1, value1, key2, value2\]).


### Output

#### :material-menu-right-outline:**`indexDeleteTarget`**

Logical name identifying the origin of 'indexDeleteObject'.

|Type|Required|Category|
|---|---|---|
|String|✔|Output|

Specifies a logical name to delete [TenXTemplate Filters](https://doc.log10x.com/run/input/objectStorage/index/#TenXTemplate-filters) produced for [indexDeleteTargetObject](https://doc.log10x.com/run/input/objectStorage/index/delete/#indexdeletetargetObject) under.
This name commonly specifies the app which generated the events enclosed within this blob (e.g. 'acme-client').


<br/>:material-github: This module is defined in [delete/module.yaml](https://github.com/log-10x/modules/tree/main/pipelines/run/modules/input/objectStorage/delete/module.yaml "delete/module.yaml"){target="\_blank"}.

