Document toolboxDocument toolbox

Azure Storage

[ 1 Connect Azure Storage with Devo SOAR ] [ 2 Actions for Azure Compute ] [ 2.1 Create Container ] [ 2.1.1 Input Field ] [ 2.1.2 Output ] [ 2.2 Upload File ] [ 2.2.1 Input Field ] [ 2.2.2 Output ] [ 2.3 Download File ] [ 2.3.1 Input Field ] [ 2.3.2 Output ] [ 2.4 List File ] [ 2.4.1 Input Field ] [ 2.4.2 Output ] [ 2.5 Set Access Policy ] [ 2.5.1 Input Field ] [ 2.5.2 Output ] [ 2.6 Get File Access URL ] [ 2.6.1 Input Field ] [ 2.6.2 Output ] [ 2.7 Query all Tables in Account ] [ 2.7.1 Input Field ] [ 2.7.2 Output ] [ 2.8 Delete Table in Account ] [ 2.8.1 Input Field ] [ 2.8.2 Output ] [ 2.9 Upsert Replace Entity in Table ] [ 2.9.1 Input Field ] [ 2.9.2 Output ] [ 3 Release Notes ]

Azure Blob storage is Microsoft's object storage solution for the cloud. Blob storage is optimized for storing massive amounts of unstructured data.

Connect Azure Storage with Devo SOAR

  1. Navigate to Automations > Integrations.

  2. Search for Azure Storage.

  3. Click Details, then the + icon. Enter the required information in the following fields.

  4. Label: Enter a connection name.

  5. Reference Values: Define variables here to templatize integration connections and actions. For example, you can use https://www.{{hostname}}.com where, hostname is a variable defined in this input. For more information on how to add data, see 'Add Data' Input Type for Integrations.

  6. Verify SSL: Select option to verify connecting server's SSL certificate (Default is Verify SSL Certificate).

  7. Remote Agent: Run this integration using the Devo SOAR Remote Agent.

  8. Connection String: Connection string to which connection will be made.

  9. After you've entered all the details, click Connect.

Actions for Azure Compute

Create Container

Create a container with specific details.

Input Field

Choose a connection that you have previously created and then fill in the necessary information in the following input fields to complete the connection.

Input Name

Description

Required

Input Name

Description

Required

Container Column Name

Column name from the parent table to lookup value for container_name.

Required

Container Metadata Column Name

Column name from parent table to lookup value for container_metadata. if not passed, the metadata column will not be read from the parent table.

Optional

Container Public Access Policy Column Name

Column name from the parent table to lookup value for container public access policy.

Optional

The only possible values in the parent table will be {None, container, blob}. if not passed. No public access policy will be applied on all rows of the parent table.

Output

A JSON object containing Success/Failure message.

Upload File

Upload file on a given container.

Input Field

Choose a connection that you have previously created and then fill in the necessary information in the following input fields to complete the connection.

Input Name

Description

Required

Input Name

Description

Required

Container Column Name

Column name from the parent table to lookup value for container_name.

Required

File Column Name

Column name from the parent table to lookup value for a file.

Required

Local File Path Column Name

Column name from the parent table to lookup value for local file path which will be uploaded.

Required

Output

A JSON object containing Success/Failure message.

Download File

Download file from the given container.

Input Field

Choose a connection that you have previously created and then fill in the necessary information in the following input fields to complete the connection.

Input Name

Description

Required

Input Name

Description

Required

Container Column Name

Column name from the parent table to lookup value for container_name.

Required

File Column Name

Column name from the parent table to lookup value for a file.

Required

Output

A JSON object containing Success/Failure message.

List File

List file in a given container.

Input Field

Choose a connection that you have previously created and then fill in the necessary information in the following input fields to complete the connection.

Input Name

Description

Required

Input Name

Description

Required

Container Column Name

Column name from the parent table to lookup value for container_name.

Required

Search Key Column Name

Column name from the parent table to lookup value for search key. if the search key is mentioned then only the file name starting with the search key will come in the result else all the files of the container will be listed.

Optional

Output

Returns a collection of dicts, each containing file details.

Set Access Policy

Add access Policy on the container.

Input Field

Choose a connection that you have previously created and then fill in the necessary information in the following input fields to complete the connection.

Input Name

Description

Required

Input Name

Description

Required

Container

Column name from the parent table to lookup value for container_name.

Required

Container Public Access Policy

Column name from the parent table to lookup value for container public access policy. The only possible values in the parent table will be {None, container, blob}. if not passed, the Public access policy will be taken as None.

Optional

Read Permission

Column name from the parent table to lookup value for read permission. The only possible values in the parent table will be {true, false}.

Required

Write Permission

Column name from the parent table to lookup value for write permission. The only possible values in the parent table will be {true, false}.

Required

Delete Permission

Column name from the parent table to lookup value for delete permission. The only possible values in the parent table will be {true, false}.

Required

List Permission

Column name from the parent table to lookup value for List permission. The only possible values in the parent table will be {true, false}.

Required

Start Time

Column name from the parent table to lookup value for the start time of the policy.

 

Example: 2017-05-22T10:00:00.

Required

 

End Time

Column name from the parent table to lookup value for the end time of the policy.

 

Example: 2017-05-22T10:00:00.

Required

 

Policy Identifier

Column name from the parent table to lookup value for policy identifier string.

Required

Output

A JSON object containing Success/Failure message.

Get File Access URL

Get file URL with access as per the access policy.

Input Field

Choose a connection that you have previously created and then fill in the necessary information in the following input fields to complete the connection.

Input Name

Description

Required

Input Name

Description

Required

File

Column name from the parent table to lookup value for file_name.

Required

Container Access Policy Identifier

Column name from the parent table to lookup value for container access policy which will be applied on the blob.

Required

Output

Returns the URL of the blob with the access policy that was applied.

Query all Tables in Account

The query tables operation returns a list of tables under the specified account

Input Field

Choose a connection that you have previously created.

Output

JSON containing the following items:

``` {json}{ "tables": [ { "name": "BineetTest" }, { "name": "IndrajeetTest" }, { "name": "IndraTest1" }, { "name": "SumitTest" } ], "has_error": false, "error": null }

## Create Table in Account Creates a new table under the current account. ### Input Field Choose a connection that you have previously created and then fill in the necessary information in the following input fields to complete the connection. | Input Name | Description | Required | | :--------- | :------------------------------------------------------------------- | :------- | | Table Name | [Jinja-templated](doc:jinja-template) text containing the table name | Required | ### Output JSON containing the following items: ```JSON JSON { "has_error": false, "table_name": "IndraTest123", "error": null }

Delete Table in Account

Deletes the table under the current account. No error will be raised if the given table is not found.

Input Field

Choose a connection that you have previously created and then fill in the necessary information in the following input fields to complete the connection.

Input Name

Description

Required

Input Name

Description

Required

Table Name

Jinja-templated text containing the table name

Required

Output

JSON containing the following items:

```JSON JSON { "has_error": false, "table_name": "IndraTest123", "error": null }

## Upsert Merge Entity in Table Add new properties to an existing entity it will not delete an existing properties ### Input Field Choose a connection that you have previously created and then fill in the necessary information in the following input fields to complete the connection. | Input Name | Description | Required | | :------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------- | | Table Name | [Jinja-templated](doc:jinja-template) text containing the table name | Required | | Entity Row Key | [Jinja-templated](doc:jinja-template) text containing the entity row key | Required | | Entity Partition Key | [Jinja-templated](doc:jinja-template) text containing the entity partition key | Required | | Additional Fields | [Jinja-templated](doc:jinja-template) JSON containing the additional fields to be passed on entity. Example '{"code_item_type":"file","disable_dynamic_execution":"false"}' | Optional | ### Output JSON containing the following items: ```JSON JSON { "message": "Updated successfully.", "has_error": false, "error": null }

Upsert Replace Entity in Table

Replace the existing entity with the given one, deleting any existing properties not included in the submitted entity

Input Field

Choose a connection that you have previously created and then fill in the necessary information in the following input fields to complete the connection.

Input Name

Description

Required

Input Name

Description

Required

Table Name

Jinja-templated text containing the table name

Required

Entity Row Key

Jinja-templated text containing the entity row key

Required

Entity Partition Key

Jinja-templated text containing the entity partition key

Required

Additional Fields

Jinja-templated JSON containing the additional fields to be passed on entity. Example '{"code_item_type":"file","disable_dynamic_execution":"false"}'

Optional

Output

JSON containing the following items:

```JSON JSON { "message": "Updated successfully.", "has_error": false, "error": null }

## Delete an Entity from the Table Delete an entity from the table ### Input Field Choose a connection that you have previously created and then fill in the necessary information in the following input fields to complete the connection. | Input Name | Description | Required | | :------------------- | :----------------------------------------------------------------------------- | :------- | | Table Name | [Jinja-templated](doc:jinja-template) text containing the table name | Required | | Entity Row Key | [Jinja-templated](doc:jinja-template) text containing the entity row key | Required | | Entity Partition Key | [Jinja-templated](doc:jinja-template) text containing the entity partition key | Required | ### Output JSON containing the following items: ```JSON JSON { "message": "Deleted entity successfully.", "has_error": false, "error": null }

Release Notes

  • v2.1.4 - Added six new actions on azure storage tables.

  • v2.0.0 - Updated architecture to support IO via filesystem