"cascade-delete"
****************

* Description

* Usage

* Required Parameters

* Optional Parameters

* Global Parameters

* Example using required parameter


Description
===========

Deletes the specified security attribute namespace. This operation
triggers a process that removes all of the security attributes defined
in the specified security attribute namespace from all resources in
your tenancy and then deletes the security attribute namespace.

After you start the delete operation:

   * New security attribute key definitions cannot be created under
     the namespace.   * The state of the security attribute namespace
     changes to DELETING.   * Security attribute removal from the
     resources begins.

This process can take up to 48 hours depending on the number of
security attributes in the namespace, the number of resources that are
tagged, and the locations of the regions in which those resources
reside.

After all security attributes are removed, the state changes to
DELETED. You cannot restore a deleted security attribute namespace.
After the deleted security attribute namespace changes its state to
DELETED, you can use the name of the deleted security attribute
namespace again.

After you start this operation, you cannot start either the
DeleteSecurityAttribute or the BulkDeleteSecurityAttributes operation
until this process completes.

To delete a security attribute namespace, you must first retire it.
Use UpdateSecurityAttributeNamespace to retire a security attribute
namespace.


Usage
=====

   oci security-attribute security-attribute-namespace cascade-delete [OPTIONS]


Required Parameters
===================

--security-attribute-namespace-id [text]

The OCID of the security attribute namespace.


Optional Parameters
===================

--from-json [text]

Provide input to this command as a JSON document from a file using the
file://path-to/file syntax.

The "--generate-full-command-json-input" option can be used to
generate a sample json file to be used with this command option. The
key names are pre-populated and match the command option names
(converted to camelCase format, e.g. compartment-id –> compartmentId),
while the values of the keys need to be populated by the user before
using the sample file as an input to this command. For any command
option that accepts multiple values, the value of the key can be a
JSON array.

Options can still be provided on the command line. If an option exists
in both the JSON document and the command line then the command line
specified value will be used.

For examples on usage of this option, please see our “using CLI with
advanced JSON options” link: https://docs.cloud.oracle.com/iaas/Conte
nt/API/SDKDocs/cliusing.htm#AdvancedJSONOptions

--if-match [text]

For optimistic concurrency control. In the PUT or DELETE call for a
resource, set the *if-match* parameter to the value of the etag from a
previous GET or POST response for that resource. The resource will be
updated or deleted only if the etag you provide matches the resource’s
current etag value.


Global Parameters
=================

Use "oci --help" for help on global parameters.

"--auth-purpose", "--auth", "--cert-bundle", "--cli-auto-prompt", "--
cli-rc-file", "--config-file", "--connection-timeout", "--debug", "--
defaults-file", "--endpoint", "--generate-full-command-json-input", "
--generate-param-json-input", "--help", "--latest-version", "--max-
retries", "--no-retry", "--opc-client-request-id", "--opc-request-id",
"--output", "--profile", "--proxy", "--query", "--raw-output", "--
read-timeout", "--realm-specific-endpoint", "--region", "--release-
info", "--request-id", "--version", "-?", "-d", "-h", "-i", "-v"


Example using required parameter
================================

Copy the following CLI commands into a file named example.sh. Run the
command by typing “bash example.sh” and replacing the example
parameters with your own.

Please note this sample will only work in the POSIX-compliant bash-
like shell. You need to set up the OCI configuration and appropriate
security policies before trying the examples.

       export compartment_id=<substitute-value-of-compartment_id> # https://docs.cloud.oracle.com/en-us/iaas/tools/oci-cli/latest/oci_cli_docs/cmdref/security-attribute/security-attribute-namespace/create.html#cmdoption-compartment-id
       export description=<substitute-value-of-description> # https://docs.cloud.oracle.com/en-us/iaas/tools/oci-cli/latest/oci_cli_docs/cmdref/security-attribute/security-attribute-namespace/create.html#cmdoption-description
       export name=<substitute-value-of-name> # https://docs.cloud.oracle.com/en-us/iaas/tools/oci-cli/latest/oci_cli_docs/cmdref/security-attribute/security-attribute-namespace/create.html#cmdoption-name

       security_attribute_namespace_id=$(oci security-attribute security-attribute-namespace create --compartment-id $compartment_id --description $description --name $name --query data.id --raw-output)

       oci security-attribute security-attribute-namespace cascade-delete --security-attribute-namespace-id $security_attribute_namespace_id
