Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions src/account/azext_account/generated/_client_factory.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,3 +25,7 @@ def cf_tenant(cli_ctx, *_):

def cf_subscription(cli_ctx, *_):
return cf_account(cli_ctx).subscription


def cf_alias(cli_ctx, *_):
return cf_account(cli_ctx).alias
93 changes: 53 additions & 40 deletions src/account/azext_account/generated/_help.py
Original file line number Diff line number Diff line change
Expand Up @@ -64,37 +64,6 @@
short-summary: account subscription
"""

helps['account subscription create'] = """
type: command
short-summary: Create Alias Subscription.
parameters:
- name: --properties
short-summary: Put alias request properties.
long-summary: |
Usage: --properties display-name=XX workload=XX billing-scope=XX subscription-id=XX

display-name: Required. The friendly name of the subscription.
workload: Required. The workload type of the subscription. It can be either Production or DevTest.
billing-scope: Required. Determines whether subscription is fieldLed, partnerLed or LegacyEA
subscription-id: This parameter can be used to create alias for existing subscription Id
examples:
- name: CreateAlias
text: |-
az account subscription create --alias-name "aliasForNewSub" --properties billing-scope="/providers/Micr\
osoft.Billing/billingAccounts/e879cf0f-2b4d-5431-109a-f72fc9868693:024cabf4-7321-4cf9-be59-df0c77ca51de_2019-05-31/bill\
ingProfiles/PE2Q-NOIT-BG7-TGB/invoiceSections/MTT4-OBS7-PJA-TGB" display-name="Contoso MCA subscription" workload="Prod\
uction"
"""

helps['account subscription delete'] = """
type: command
short-summary: Delete Alias.
examples:
- name: DeleteAlias
text: |-
az account subscription delete --alias-name "aliasForNewSub"
"""

helps['account subscription cancel'] = """
type: command
short-summary: The operation to cancel a subscription
Expand All @@ -113,30 +82,74 @@
az account subscription enable --subscription-id "7948bcee-488c-47ce-941c-38e20ede803d"
"""

helps['account subscription get-alias'] = """
helps['account subscription rename'] = """
type: command
short-summary: The operation to rename a subscription
examples:
- name: renameSubscription
text: |-
az account subscription rename --name "Test Sub" --subscription-id "83aa47df-e3e9-49ff-877b-94304bf3d3ad\
"
"""

helps['account alias'] = """
type: group
short-summary: account alias
"""

helps['account alias list'] = """
type: command
short-summary: Get Alias Subscription.
examples:
- name: GetAlias
text: |-
az account subscription get-alias --alias-name "aliasForNewSub"
az account alias list
"""

helps['account subscription list-alias'] = """
helps['account alias show'] = """
type: command
short-summary: Get Alias Subscription.
examples:
- name: GetAlias
text: |-
az account subscription list-alias
az account alias show --name "aliasForNewSub"
"""

helps['account subscription rename'] = """
helps['account alias create'] = """
type: command
short-summary: The operation to rename a subscription
short-summary: Create Alias Subscription.
parameters:
- name: --properties
short-summary: Put alias request properties.
long-summary: |
Usage: --properties display-name=XX workload=XX billing-scope=XX subscription-id=XX

display-name: Required. The friendly name of the subscription.
workload: Required. The workload type of the subscription. It can be either Production or DevTest.
billing-scope: Required. Determines whether subscription is fieldLed, partnerLed or LegacyEA
subscription-id: This parameter can be used to create alias for existing subscription Id
examples:
- name: renameSubscription
- name: CreateAlias
text: |-
az account subscription rename --name "Test Sub" --subscription-id "83aa47df-e3e9-49ff-877b-94304bf3d3ad\
"
az account alias create --name "aliasForNewSub" --properties billing-scope="/providers/Microsoft.Billing\
/billingAccounts/e879cf0f-2b4d-5431-109a-f72fc9868693:024cabf4-7321-4cf9-be59-df0c77ca51de_2019-05-31/billingProfiles/P\
E2Q-NOIT-BG7-TGB/invoiceSections/MTT4-OBS7-PJA-TGB" display-name="Contoso MCA subscription" workload="Production"
"""

helps['account alias delete'] = """
type: command
short-summary: Delete Alias.
examples:
- name: DeleteAlias
text: |-
az account alias delete --name "aliasForNewSub"
"""

helps['account alias wait'] = """
type: command
short-summary: Place the CLI in a waiting state until a condition of the account alias is met.
examples:
- name: Pause executing next line of CLI script until the account alias is successfully created.
text: |-
az account alias wait --name "aliasForNewSub" --created
"""
29 changes: 16 additions & 13 deletions src/account/azext_account/generated/_params.py
Original file line number Diff line number Diff line change
Expand Up @@ -27,25 +27,28 @@ def load_arguments(self, _):
with self.argument_context('account tenant list') as c:
pass

with self.argument_context('account subscription create') as c:
c.argument('alias_name', help='Alias Name')
c.argument('properties', action=AddProperties, nargs='+', help='Put alias request properties.')

with self.argument_context('account subscription delete') as c:
c.argument('alias_name', help='Alias Name')

with self.argument_context('account subscription cancel') as c:
c.argument('subscription_id', help='Subscription Id.', id_part='subscription')

with self.argument_context('account subscription enable') as c:
c.argument('subscription_id', help='Subscription Id.', id_part='subscription')

with self.argument_context('account subscription get-alias') as c:
c.argument('alias_name', help='Alias Name')

with self.argument_context('account subscription list-alias') as c:
pass

with self.argument_context('account subscription rename') as c:
c.argument('subscription_id', help='Subscription Id.', id_part='subscription')
c.argument('subscription_name', options_list=['--name', '-n'], help='New subscription name')

with self.argument_context('account alias list') as c:
pass

with self.argument_context('account alias show') as c:
c.argument('alias_name', options_list=['--name', '-n'], help='Alias Name')

with self.argument_context('account alias create') as c:
c.argument('alias_name', options_list=['--name', '-n'], help='Alias Name')
c.argument('properties', action=AddProperties, nargs='+', help='Put alias request properties.')

with self.argument_context('account alias delete') as c:
c.argument('alias_name', options_list=['--name', '-n'], help='Alias Name')

with self.argument_context('account alias wait') as c:
c.argument('alias_name', options_list=['--name', '-n'], help='Alias Name')
15 changes: 11 additions & 4 deletions src/account/azext_account/generated/commands.py
Original file line number Diff line number Diff line change
Expand Up @@ -38,10 +38,17 @@ def load_command_table(self, _):
client_factory=cf_subscription)
with self.command_group('account subscription', account_subscription, client_factory=cf_subscription,
is_experimental=True) as g:
g.custom_command('create', 'account_subscription_create')
g.custom_command('delete', 'account_subscription_delete')
g.custom_command('cancel', 'account_subscription_cancel')
g.custom_command('enable', 'account_subscription_enable')
g.custom_command('get-alias', 'account_subscription_get_alias')
g.custom_command('list-alias', 'account_subscription_list_alias')
g.custom_command('rename', 'account_subscription_rename')

from azext_account.generated._client_factory import cf_alias
account_alias = CliCommandType(
operations_tmpl='azext_account.vendored_sdks.subscription.operations._alias_operations#AliasOperations.{}',
client_factory=cf_alias)
with self.command_group('account alias', account_alias, client_factory=cf_alias, is_experimental=True) as g:
g.custom_command('list', 'account_alias_list')
g.custom_show_command('show', 'account_alias_show')
g.custom_command('create', 'account_alias_create', supports_no_wait=True)
g.custom_command('delete', 'account_alias_delete')
g.custom_wait_command('wait', 'account_alias_show')
47 changes: 26 additions & 21 deletions src/account/azext_account/generated/custom.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@
# --------------------------------------------------------------------------
# pylint: disable=too-many-lines

from azure.cli.core.util import sdk_no_wait


def account_subscription_list(client):
return client.list()
Expand All @@ -28,18 +30,6 @@ def account_tenant_list(client):
return client.list()


def account_subscription_create(client,
alias_name,
properties=None):
return client.begin_create_alias(alias_name=alias_name,
properties=properties)


def account_subscription_delete(client,
alias_name):
return client.delete_alias(alias_name=alias_name)


def account_subscription_cancel(client,
subscription_id):
return client.cancel(subscription_id=subscription_id)
Expand All @@ -50,17 +40,32 @@ def account_subscription_enable(client,
return client.enable(subscription_id=subscription_id)


def account_subscription_get_alias(client,
alias_name):
return client.get_alias(alias_name=alias_name)


def account_subscription_list_alias(client):
return client.list_alias()


def account_subscription_rename(client,
subscription_id,
subscription_name=None):
return client.rename(subscription_id=subscription_id,
subscription_name=subscription_name)


def account_alias_list(client):
return client.list()


def account_alias_show(client,
alias_name):
return client.get(alias_name=alias_name)


def account_alias_create(client,
alias_name,
properties,
no_wait=False):
return sdk_no_wait(no_wait,
client.begin_create,
alias_name=alias_name,
properties=properties)


def account_alias_delete(client,
alias_name):
return client.delete(alias_name=alias_name)
67 changes: 33 additions & 34 deletions src/account/azext_account/tests/latest/test_account_scenario.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,53 +21,51 @@ def setup(test):
pass


# EXAMPLE: /Subscriptions/get/getSubscription
# EXAMPLE: /Alias/put/CreateAlias
@try_manual
def step__subscriptions_get_getsubscription(test):
test.cmd('az account subscription show '
'--subscription-id "83aa47df-e3e9-49ff-877b-94304bf3d3ad"',
def step__alias_put_createalias(test):
test.cmd('az account alias create '
'--name "{aliasForNewSub}" '
'--properties billing-scope="/providers/Microsoft.Billing/billingAccounts/e879cf0f-2b4d-5431-109a-f72fc986'
'8693:024cabf4-7321-4cf9-be59-df0c77ca51de_2019-05-31/billingProfiles/PE2Q-NOIT-BG7-TGB/invoiceSections/MT'
'T4-OBS7-PJA-TGB" display-name="Contoso MCA subscription" workload="Production"',
checks=[])


# EXAMPLE: /Subscriptions/get/listLocations
# EXAMPLE: /Alias/get/GetAlias
@try_manual
def step__subscriptions_get_listlocations(test):
test.cmd('az account subscription list-location '
'--subscription-id "83aa47df-e3e9-49ff-877b-94304bf3d3ad"',
def step__alias_get_getalias(test):
test.cmd('az account alias list',
checks=[])


# EXAMPLE: /Subscriptions/get/listSubscriptions
# EXAMPLE: /Alias/get/GetAlias
@try_manual
def step__subscriptions_get_listsubscriptions(test):
test.cmd('az account subscription list',
def step__alias_get_getalias(test):
test.cmd('az account alias list',
checks=[])


# EXAMPLE: /Subscription/put/CreateAlias
# EXAMPLE: /Subscriptions/get/getSubscription
@try_manual
def step__subscription_put_createalias(test):
test.cmd('az account subscription create '
'--alias-name "aliasForNewSub" '
'--properties billing-scope="/providers/Microsoft.Billing/billingAccounts/e879cf0f-2b4d-5431-109a-f72fc986'
'8693:024cabf4-7321-4cf9-be59-df0c77ca51de_2019-05-31/billingProfiles/PE2Q-NOIT-BG7-TGB/invoiceSections/MT'
'T4-OBS7-PJA-TGB" display-name="Contoso MCA subscription" workload="Production"',
def step__subscriptions_get_getsubscription(test):
test.cmd('az account subscription show '
'--subscription-id "83aa47df-e3e9-49ff-877b-94304bf3d3ad"',
checks=[])


# EXAMPLE: /Subscription/get/GetAlias
# EXAMPLE: /Subscriptions/get/listLocations
@try_manual
def step__subscription_get_getalias(test):
test.cmd('az account subscription get-alias '
'--alias-name "aliasForNewSub"',
def step__subscriptions_get_listlocations(test):
test.cmd('az account subscription list-location '
'--subscription-id "83aa47df-e3e9-49ff-877b-94304bf3d3ad"',
checks=[])


# EXAMPLE: /Subscription/get/GetAlias
# EXAMPLE: /Subscriptions/get/listSubscriptions
@try_manual
def step__subscription_get_getalias(test):
test.cmd('az account subscription get-alias '
'--alias-name "aliasForNewSub"',
def step__subscriptions_get_listsubscriptions(test):
test.cmd('az account subscription list',
checks=[])


Expand Down Expand Up @@ -103,11 +101,11 @@ def step__tenants_get_listtenants(test):
checks=[])


# EXAMPLE: /Subscription/delete/DeleteAlias
# EXAMPLE: /Alias/delete/DeleteAlias
@try_manual
def step__subscription_delete_deletealias(test):
test.cmd('az account subscription delete '
'--alias-name "aliasForNewSub"',
def step__alias_delete_deletealias(test):
test.cmd('az account alias delete '
'--name "{aliasForNewSub}"',
checks=[])


Expand All @@ -119,17 +117,17 @@ def cleanup(test):
@try_manual
def call_scenario(test):
setup(test)
step__alias_put_createalias(test)
step__alias_get_getalias(test)
step__alias_get_getalias(test)
step__subscriptions_get_getsubscription(test)
step__subscriptions_get_listlocations(test)
step__subscriptions_get_listsubscriptions(test)
step__subscription_put_createalias(test)
step__subscription_get_getalias(test)
step__subscription_get_getalias(test)
step__subscription_post_cancelsubscription(test)
step__subscription_post_enablesubscription(test)
step__subscription_post_renamesubscription(test)
step__tenants_get_listtenants(test)
step__subscription_delete_deletealias(test)
step__alias_delete_deletealias(test)
cleanup(test)


Expand All @@ -140,6 +138,7 @@ def test_account(self):

self.kwargs.update({
'Test Sub': 'Test Sub',
'aliasForNewSub': 'aliasForNewSub',
})

call_scenario(self)
Expand Down
Loading