Sha256: a8ba05e486bfbfa4f58427a33f1eacdb7e17b153cd6c3fd6c614abf690f3dd6c

Contents?: true

Size: 926 Bytes

Versions: 1

Compression:

Stored size: 926 Bytes

Contents

class TerraspacePluginAzurerm::Interfaces::Backend
  class StorageContainer < Base
    include TerraspacePluginAzurerm::Clients::Storage
    extend Memoist

    def create
      if exist?
        puts "Storage Container #{@container_name} already exists" if ENV['TS_LOUD']
      else
        create_storage_container
      end
    end

    def exist?
      begin
        blob_containers.get(@resource_group_name, @storage_account_name, @container_name)
        true
      rescue MsRestAzure::AzureOperationError => e
        e.message.include?("The specified container does not exist") ? false : raise
      end
    end

    def create_storage_container
      puts "Creating Storage Container #{@container_name}..."
      blob_container = BlobContainer.new
      blob_container.name = @container_name
      blob_containers.create(@resource_group_name, @storage_account_name, @container_name, blob_container)
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
terraspace_plugin_azurerm-0.0.0 lib/terraspace_plugin_azurerm/interfaces/backend/storage_container.rb