Exemplo n.º 1
0
    def test_account_type_for_docopts(self):
        self.__set_account_type_docopts()
        self.account_type_docopts['--locally-redundant'] = True
        result = Defaults.account_type_for_docopts(self.account_type_docopts)
        assert result == 'Standard_LRS'

        self.__set_account_type_docopts()
        self.account_type_docopts['--zone-redundant'] = True
        result = Defaults.account_type_for_docopts(self.account_type_docopts)
        assert result == 'Standard_ZRS'

        self.__set_account_type_docopts()
        self.account_type_docopts['--geo-redundant'] = True
        result = Defaults.account_type_for_docopts(self.account_type_docopts)
        assert result == 'Standard_GRS'

        self.__set_account_type_docopts()
        self.account_type_docopts['--read-access-geo-redundant'] = True
        result = Defaults.account_type_for_docopts(self.account_type_docopts)
        assert result == 'Standard_RAGRS'
Exemplo n.º 2
0
 def __create(self):
     request_id = self.storage_account.create(
         self.command_args['--name'],
         self.command_args['--description'],
         self.command_args['--label'],
         Defaults.account_type_for_docopts(self.command_args)
     )
     if self.command_args['--wait']:
         self.request_wait(request_id)
     self.result.add(
         'storage_account:' + self.command_args['--name'],
         request_id
     )
Exemplo n.º 3
0
 def __update(self):
     request_id = self.storage_account.update(
         self.command_args['--name'],
         self.command_args['--description'],
         self.command_args['--label'],
         Defaults.account_type_for_docopts(self.command_args, False),
         self.command_args['--new-primary-key'],
         self.command_args['--new-secondary-key']
     )
     if self.command_args['--wait']:
         self.request_wait(request_id)
     self.result.add(
         'storage_account:' + self.command_args['--name'],
         request_id
     )
Exemplo n.º 4
0
 def test_default_account_type_for_docopts(self):
     self.__set_account_type_docopts()
     result = Defaults.account_type_for_docopts(self.account_type_docopts)
     assert result == 'Standard_GRS'
Exemplo n.º 5
0
    def __configure_account(self):
        self.__check_account_existing_in_default_config()
        self.setup.configure_account(
            self.command_args['--name'],
            self.command_args['--publish-settings-file'],
            self.command_args['--region'],
            self.command_args['--storage-account-name'],
            self.command_args['--container-name'],
            self.command_args['--subscription-id'],
            self.command_args['--management-pem-file'],
            self.command_args['--management-url']
        )
        self.setup.write()
        log.info(
            'Added account %s', self.command_args['--name']
        )
        if self.command_args['--create']:
            self.global_args['--account'] = self.command_args['--name']
            self.load_config()
            self.account = AzureAccount(self.config)
            self.__load_account_setup(
                self.command_args['--name']
            )

            try:
                storage_account_name = \
                    self.command_args['--storage-account-name']
                storage_account = StorageAccount(self.account)
                if not storage_account.exists(storage_account_name):
                    storage_account_request_id = storage_account.create(
                        name=storage_account_name,
                        description=self.command_args['--name'],
                        label=self.command_args['--storage-account-name'],
                        account_type=Defaults.account_type_for_docopts(
                            self.command_args
                        )
                    )
                    self.request_wait(storage_account_request_id)
                    log.info(
                        'Created %s storage account', storage_account_name
                    )
                else:
                    log.info(
                        'Storage account %s already exists',
                        storage_account_name
                    )

                container_name = self.command_args['--container-name']
                container = Container(self.account)
                if not container.exists(container_name):
                    container.create(container_name)
                    log.info(
                        'Created %s container', container_name
                    )
                else:
                    log.info(
                        'Container %s already exists', container_name
                    )
            except Exception as e:
                self.__remove()
                raise AzureAccountConfigurationError(
                    '%s: %s' % (type(e).__name__, format(e))
                )