Class ExportDeliveryDestination

java.lang.Object
com.azure.resourcemanager.costmanagement.models.ExportDeliveryDestination

public final class ExportDeliveryDestination extends Object
This represents the blob storage account location where exports of costs will be delivered. There are two ways to configure the destination. The approach recommended for most customers is to specify the resourceId of the storage account. This requires a one-time registration of the account's subscription with the Microsoft.CostManagementExports resource provider in order to give Cost Management services access to the storage. When creating an export in the Azure portal this registration is performed automatically but API users may need to register the subscription explicitly (for more information see https://docs.microsoft.com/en-us/azure/azure-resource-manager/resource-manager-supported-services ). Another way to configure the destination is available ONLY to Partners with a Microsoft Partner Agreement plan who are global admins of their billing account. These Partners, instead of specifying the resourceId of a storage account, can specify the storage account name along with a SAS token for the account. This allows exports of costs to a storage account in any tenant. The SAS token should be created for the blob service with Service/Container/Object resource types and with Read/Write/Delete/List/Add/Create permissions (for more information see https://docs.microsoft.com/en-us/azure/cost-management-billing/costs/export-cost-data-storage-account-sas-key ).
  • Constructor Details

    • ExportDeliveryDestination

      public ExportDeliveryDestination()
      Creates an instance of ExportDeliveryDestination class.
  • Method Details

    • resourceId

      public String resourceId()
      Get the resourceId property: The resource id of the storage account where exports will be delivered. This is not required if a sasToken and storageAccount are specified.
      Returns:
      the resourceId value.
    • withResourceId

      public ExportDeliveryDestination withResourceId(String resourceId)
      Set the resourceId property: The resource id of the storage account where exports will be delivered. This is not required if a sasToken and storageAccount are specified.
      Parameters:
      resourceId - the resourceId value to set.
      Returns:
      the ExportDeliveryDestination object itself.
    • container

      public String container()
      Get the container property: The name of the container where exports will be uploaded. If the container does not exist it will be created.
      Returns:
      the container value.
    • withContainer

      public ExportDeliveryDestination withContainer(String container)
      Set the container property: The name of the container where exports will be uploaded. If the container does not exist it will be created.
      Parameters:
      container - the container value to set.
      Returns:
      the ExportDeliveryDestination object itself.
    • rootFolderPath

      public String rootFolderPath()
      Get the rootFolderPath property: The name of the directory where exports will be uploaded.
      Returns:
      the rootFolderPath value.
    • withRootFolderPath

      public ExportDeliveryDestination withRootFolderPath(String rootFolderPath)
      Set the rootFolderPath property: The name of the directory where exports will be uploaded.
      Parameters:
      rootFolderPath - the rootFolderPath value to set.
      Returns:
      the ExportDeliveryDestination object itself.
    • sasToken

      public String sasToken()
      Get the sasToken property: A SAS token for the storage account. For a restricted set of Azure customers this together with storageAccount can be specified instead of resourceId. Note: the value returned by the API for this property will always be obfuscated. Returning this same obfuscated value will not result in the SAS token being updated. To update this value a new SAS token must be specified.
      Returns:
      the sasToken value.
    • withSasToken

      public ExportDeliveryDestination withSasToken(String sasToken)
      Set the sasToken property: A SAS token for the storage account. For a restricted set of Azure customers this together with storageAccount can be specified instead of resourceId. Note: the value returned by the API for this property will always be obfuscated. Returning this same obfuscated value will not result in the SAS token being updated. To update this value a new SAS token must be specified.
      Parameters:
      sasToken - the sasToken value to set.
      Returns:
      the ExportDeliveryDestination object itself.
    • storageAccount

      public String storageAccount()
      Get the storageAccount property: The storage account where exports will be uploaded. For a restricted set of Azure customers this together with sasToken can be specified instead of resourceId.
      Returns:
      the storageAccount value.
    • withStorageAccount

      public ExportDeliveryDestination withStorageAccount(String storageAccount)
      Set the storageAccount property: The storage account where exports will be uploaded. For a restricted set of Azure customers this together with sasToken can be specified instead of resourceId.
      Parameters:
      storageAccount - the storageAccount value to set.
      Returns:
      the ExportDeliveryDestination object itself.
    • validate

      public void validate()
      Validates the instance.
      Throws:
      IllegalArgumentException - thrown if the instance is not valid.