Interface SecurityAttributeAsync

    • Method Detail

      • refreshClient

        void refreshClient()
        Rebuilds the client from scratch.

        Useful to refresh certificates.

      • setEndpoint

        void setEndpoint​(String endpoint)
        Sets the endpoint to call (ex, https://www.example.com).
        Parameters:
        endpoint - The endpoint of the serice.
      • getEndpoint

        String getEndpoint()
        Gets the set endpoint for REST call (ex, https://www.example.com)
      • setRegion

        void setRegion​(Region region)
        Sets the region to call (ex, Region.US_PHOENIX_1).

        Note, this will call setEndpoint after resolving the endpoint. If the service is not available in this region, however, an IllegalArgumentException will be raised.

        Parameters:
        region - The region of the service.
      • setRegion

        void setRegion​(String regionId)
        Sets the region to call (ex, ‘us-phoenix-1’).

        Note, this will first try to map the region ID to a known Region and call setRegion.

        If no known Region could be determined, it will create an endpoint based on the default endpoint format (Region.formatDefaultRegionEndpoint(Service, String) and then call setEndpoint.

        Parameters:
        regionId - The public region ID.
      • useRealmSpecificEndpointTemplate

        void useRealmSpecificEndpointTemplate​(boolean realmSpecificEndpointTemplateEnabled)
        Determines whether realm specific endpoint should be used or not.

        Set realmSpecificEndpointTemplateEnabled to “true” if the user wants to enable use of realm specific endpoint template, otherwise set it to “false”

        Parameters:
        realmSpecificEndpointTemplateEnabled - flag to enable the use of realm specific endpoint template
      • bulkDeleteSecurityAttributes

        Future<BulkDeleteSecurityAttributesResponse> bulkDeleteSecurityAttributes​(BulkDeleteSecurityAttributesRequest request,
                                                                                  AsyncHandler<BulkDeleteSecurityAttributesRequest,​BulkDeleteSecurityAttributesResponse> handler)
        Deletes the specified security attribute definitions.

        This operation triggers a process that removes the security attributes from all resources in your tenancy. The security attributes must be within the same security attribute namespace.

        The following actions happen immediately:

        After you start this operation, the state of the tag changes to DELETING, and security attribute removal from resources begins. This process can take up to 48 hours depending on the number of resources that are tagged and the regions in which those resources reside.

        When all security attributes have been removed, the state changes to DELETED. You cannot restore a deleted security attribute. After the security attribute state changes to DELETED, you can use the same security attribute name again.

        After you start this operation, you cannot start either the deleteSecurityAttribute or the cascadingDeleteSecurityAttributeNamespace operation until this process completes.

        In order to delete security attribute, you must first retire the security attribute. Use updateSecurityAttributeNamespace to retire a security attribute.

        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • bulkEditSecurityAttributes

        Future<BulkEditSecurityAttributesResponse> bulkEditSecurityAttributes​(BulkEditSecurityAttributesRequest request,
                                                                              AsyncHandler<BulkEditSecurityAttributesRequest,​BulkEditSecurityAttributesResponse> handler)
        Edits the specified list of security attributes for the selected resources.

        This operation triggers a process that edits the attributes on all selected resources. The possible actions are:

        Add a security attribute when it does not already exist on the resource. * Update the value for a security attribute when it is present on the resource. * Add a security attribute when it does not already exist on the resource or update the value when it is present on the resource. * Remove a security attribute from a resource. The security attribute is removed from the resource regardless of the value.

        The edits can include a combination of operations and attributes. However, multiple operations cannot apply to the same attribute in the same request.

        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • cascadingDeleteSecurityAttributeNamespace

        Future<CascadingDeleteSecurityAttributeNamespaceResponse> cascadingDeleteSecurityAttributeNamespace​(CascadingDeleteSecurityAttributeNamespaceRequest request,
                                                                                                            AsyncHandler<CascadingDeleteSecurityAttributeNamespaceRequest,​CascadingDeleteSecurityAttributeNamespaceResponse> handler)
        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.

        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • changeSecurityAttributeNamespaceCompartment

        Future<ChangeSecurityAttributeNamespaceCompartmentResponse> changeSecurityAttributeNamespaceCompartment​(ChangeSecurityAttributeNamespaceCompartmentRequest request,
                                                                                                                AsyncHandler<ChangeSecurityAttributeNamespaceCompartmentRequest,​ChangeSecurityAttributeNamespaceCompartmentResponse> handler)
        Moves the specified security attribute namespace to the specified compartment within the same tenancy.

        To move the security attribute namespace, you must have the manage security-attributes permission on both compartments. For more information about IAM policies, see [Details for IAM](https://docs.oracle.com/iaas/Content/Identity/policyreference/iampolicyreference.htm).

        Moving a security attribute namespace moves all the security attributes contained in the security attribute namespace.

        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • createSecurityAttribute

        Future<CreateSecurityAttributeResponse> createSecurityAttribute​(CreateSecurityAttributeRequest request,
                                                                        AsyncHandler<CreateSecurityAttributeRequest,​CreateSecurityAttributeResponse> handler)
        Creates a new security attribute in the specified security attribute namespace.

        The security attribute requires either the OCID or the name of the security attribute namespace that will contain this security attribute.

        You must specify a *name* for the attribute, which must be unique across all attributes in the security attribute namespace and cannot be changed. The only valid characters for security attribute names are: 0-9, A-Z, a-z, -, _ characters. Names are case insensitive. That means, for example, \"mySecurityAttribute\" and \"mysecurityattribute\" are not allowed in the same namespace. If you specify a name that's already in use in the security attribute namespace, a 409 error is returned.

        The security attribute must have a *description*. It does not have to be unique, and you can change it with updateSecurityAttribute.

        The security attribute must have a value type, which is specified with a validator. Security attribute can use either a static value or a list of possible values. Static values are entered by a user applying the security attribute to a resource. Lists are created by the user and the user must apply a value from the list. Lists are validated.

        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • createSecurityAttributeNamespace

        Future<CreateSecurityAttributeNamespaceResponse> createSecurityAttributeNamespace​(CreateSecurityAttributeNamespaceRequest request,
                                                                                          AsyncHandler<CreateSecurityAttributeNamespaceRequest,​CreateSecurityAttributeNamespaceResponse> handler)
        Creates a new security attribute namespace in the specified compartment.

        You must specify the compartment ID in the request object (remember that the tenancy is simply the root compartment).

        You must also specify a *name* for the namespace, which must be unique across all namespaces in your tenancy and cannot be changed. The only valid characters for security attribute names are:  0-9, A-Z, a-z, -, _ characters. Names are case insensitive. That means, for example, \"myNamespace\" and \"mynamespace\" are not allowed in the same tenancy. Once you created a namespace, you cannot change the name. If you specify a name that's already in use in the tenancy, a 409 error is returned.

        You must also specify a *description* for the namespace. It does not have to be unique, and you can change it with updateSecurityAttributeNamespace.

        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • deleteSecurityAttribute

        Future<DeleteSecurityAttributeResponse> deleteSecurityAttribute​(DeleteSecurityAttributeRequest request,
                                                                        AsyncHandler<DeleteSecurityAttributeRequest,​DeleteSecurityAttributeResponse> handler)
        Deletes the specified security attribute.

        This operation triggers a process that removes the security attribute from all resources in your tenancy.

        When you start the delete operation, the state of the security attribute changes to DELETING and security attribute removal from resources begins. This can take up to 48 hours depending on the number of resources that were tagged as well as the regions in which those resources reside.

        When all attributes have been removed, the state changes to DELETED. You cannot restore a deleted attribute. Once the deleted attribute changes its state to DELETED, you can use the same security attribute name again.

        After you start this operation, you cannot start either the bulkDeleteSecurityAttributes or the cascadingDeleteSecurityAttributeNamespace operation until this process completes.

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

        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • deleteSecurityAttributeNamespace

        Future<DeleteSecurityAttributeNamespaceResponse> deleteSecurityAttributeNamespace​(DeleteSecurityAttributeNamespaceRequest request,
                                                                                          AsyncHandler<DeleteSecurityAttributeNamespaceRequest,​DeleteSecurityAttributeNamespaceResponse> handler)
        Deletes the specified security attribute namespace.

        Only an empty security attribute namespace can be deleted with this operation. To use this operation to delete a security attribute namespace that contains security attributes, first delete all of its security attributes. Use deleteSecurityAttribute to delete a security attribute.

        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • getSecurityAttribute

        Future<GetSecurityAttributeResponse> getSecurityAttribute​(GetSecurityAttributeRequest request,
                                                                  AsyncHandler<GetSecurityAttributeRequest,​GetSecurityAttributeResponse> handler)
        Gets the specified security attribute’s information.
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • getSecurityAttributeWorkRequest

        Future<GetSecurityAttributeWorkRequestResponse> getSecurityAttributeWorkRequest​(GetSecurityAttributeWorkRequestRequest request,
                                                                                        AsyncHandler<GetSecurityAttributeWorkRequestRequest,​GetSecurityAttributeWorkRequestResponse> handler)
        Gets details on a specified work request.

        The workRequestID is returned in the opc-work-request-id header for any asynchronous operation in security attributes service.

        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • listSecurityAttributes

        Future<ListSecurityAttributesResponse> listSecurityAttributes​(ListSecurityAttributesRequest request,
                                                                      AsyncHandler<ListSecurityAttributesRequest,​ListSecurityAttributesResponse> handler)
        Lists the security attributes in the specified namespace.
        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • updateSecurityAttribute

        Future<UpdateSecurityAttributeResponse> updateSecurityAttribute​(UpdateSecurityAttributeRequest request,
                                                                        AsyncHandler<UpdateSecurityAttributeRequest,​UpdateSecurityAttributeResponse> handler)
        Updates the specified security attribute.

        You can only update description, and isRetired.

        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • updateSecurityAttributeNamespace

        Future<UpdateSecurityAttributeNamespaceResponse> updateSecurityAttributeNamespace​(UpdateSecurityAttributeNamespaceRequest request,
                                                                                          AsyncHandler<UpdateSecurityAttributeNamespaceRequest,​UpdateSecurityAttributeNamespaceResponse> handler)
        Updates the specified security attribute namespace.

        You can’t update the namespace name.

        Updating `isRetired` to 'true' retires the namespace and all the security attributes in the namespace. Reactivating a namespace (changing `isRetired` from 'true' to 'false') does not reactivate security attributes. To reactivate the security attributes, you must reactivate each one individually *after* you reactivate the namespace, using updateSecurityAttribute. For more information about retiring security attribute namespaces, see [Managing Security Attribute Namespaces](https://docs.oracle.com/iaas/Content/zero-trust-packet-routing/managing-security-attribute-namespaces.htm).

        You can't add a namespace with the same name as a retired namespace in the same tenancy.

        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.