Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[AutoPR databox] Specifying shipping address required property to autorest. #454

Closed
wants to merge 1 commit into from
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
44 changes: 31 additions & 13 deletions src/databox/azext_databox/__init__.py
Original file line number Diff line number Diff line change
@@ -1,32 +1,50 @@
# --------------------------------------------------------------------------------------------
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See License.txt in the project root for license information.
# --------------------------------------------------------------------------------------------
# Licensed under the MIT License. See License.txt in the project root for
# license information.
#
# Code generated by Microsoft (R) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is
# regenerated.
# --------------------------------------------------------------------------

from azure.cli.core import AzCommandsLoader
from azext_databox.generated._help import helps # pylint: disable=unused-import
try:
from azext_databox.manual._help import helps # pylint: disable=reimported
except ImportError:
pass

import azext_databox._help # pylint: disable=unused-import


class DataBoxCommandsLoader(AzCommandsLoader):
class DataBoxManagementClientCommandsLoader(AzCommandsLoader):

def __init__(self, cli_ctx=None):
from azure.cli.core.commands import CliCommandType
from azext_databox._client_factory import cf_databox
from azext_databox.generated._client_factory import cf_databox_cl
databox_custom = CliCommandType(
operations_tmpl='azext_databox.custom#{}',
client_factory=cf_databox)
super(DataBoxCommandsLoader, self).__init__(cli_ctx=cli_ctx,
custom_command_type=databox_custom)
client_factory=cf_databox_cl)
parent = super(DataBoxManagementClientCommandsLoader, self)
parent.__init__(cli_ctx=cli_ctx, custom_command_type=databox_custom)

def load_command_table(self, args):
from azext_databox.commands import load_command_table
from azext_databox.generated.commands import load_command_table
load_command_table(self, args)
try:
from azext_databox.manual.commands import load_command_table as load_command_table_manual
load_command_table_manual(self, args)
except ImportError:
pass
return self.command_table

def load_arguments(self, command):
from azext_databox._params import load_arguments
from azext_databox.generated._params import load_arguments
load_arguments(self, command)
try:
from azext_databox.manual._params import load_arguments as load_arguments_manual
load_arguments_manual(self, command)
except ImportError:
pass


COMMAND_LOADER_CLS = DataBoxCommandsLoader
COMMAND_LOADER_CLS = DataBoxManagementClientCommandsLoader
17 changes: 17 additions & 0 deletions src/databox/azext_databox/action.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See License.txt in the project root for
# license information.
#
# Code generated by Microsoft (R) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is
# regenerated.
# --------------------------------------------------------------------------
# pylint: disable=wildcard-import
# pylint: disable=unused-wildcard-import

from .generated.action import * # noqa: F403
try:
from .manual.action import * # noqa: F403
except ImportError:
pass
2 changes: 1 addition & 1 deletion src/databox/azext_databox/azext_metadata.json
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{
"azext.isExperimental": true,
"azext.minCliCoreVersion": "2.3.1"
"azext.minCliCoreVersion": "2.11.0"
}
150 changes: 16 additions & 134 deletions src/databox/azext_databox/custom.py
Original file line number Diff line number Diff line change
@@ -1,135 +1,17 @@
# --------------------------------------------------------------------------------------------
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See License.txt in the project root for license information.
# --------------------------------------------------------------------------------------------
# pylint: disable=line-too-long
# pylint: disable=too-many-statements
# pylint: disable=too-many-lines
# pylint: disable=too-many-locals
# pylint: disable=unused-argument
# pylint: disable=too-many-branches


def create_databox_job(client,
resource_group_name,
job_name,
location,
sku,
contact_name,
phone,
city,
email_list,
street_address1,
postal_code,
country,
state_or_province,
destination_account_details,
expected_data_size=None,
tags=None,
mobile=None,
street_address2=None,
street_address3=None,
company_name=None,):
body = {}
body['location'] = location # str
body['tags'] = tags # dictionary
body.setdefault('sku', {})['name'] = sku # str
body.setdefault('details', {})['job_details_type'] = sku
body.setdefault('details', {})['expected_data_size_in_terabytes'] = expected_data_size
body.setdefault('details', {}).setdefault('contact_details', {})['contact_name'] = contact_name # str
body.setdefault('details', {}).setdefault('contact_details', {})['phone'] = phone # str
body.setdefault('details', {}).setdefault('contact_details', {})['mobile'] = mobile # str
body.setdefault('details', {}).setdefault('contact_details', {})['email_list'] = email_list
body.setdefault('details', {}).setdefault('shipping_address', {})['street_address1'] = street_address1 # str
body.setdefault('details', {}).setdefault('shipping_address', {})['street_address2'] = street_address2 # str
body.setdefault('details', {}).setdefault('shipping_address', {})['street_address3'] = street_address3 # str
body.setdefault('details', {}).setdefault('shipping_address', {})['city'] = city # str
body.setdefault('details', {}).setdefault('shipping_address', {})['state_or_province'] = state_or_province # str
body.setdefault('details', {}).setdefault('shipping_address', {})['country'] = country # str
body.setdefault('details', {}).setdefault('shipping_address', {})['postal_code'] = postal_code # str
body.setdefault('details', {}).setdefault('shipping_address', {})['company_name'] = company_name # str

body.setdefault('details', {})['destination_account_details'] = destination_account_details

return client.create(resource_group_name=resource_group_name, job_name=job_name, job_resource=body)


def update_databox_job(client,
resource_group_name,
job_name,
contact_name=None,
phone=None,
email_list=None,
street_address1=None,
postal_code=None,
country=None,
mobile=None,
city=None,
street_address2=None,
street_address3=None,
state_or_province=None,
company_name=None):
job_resource = get_databox_job(client, resource_group_name, job_name)
job_details = job_resource.details
contact_details = job_details.contact_details
shipping_address = job_details.shipping_address

body = {}
body.setdefault('details', {}).setdefault('contact_details', {})[
'contact_name'] = contact_details.contact_name if contact_name is None else contact_name # str
body.setdefault('details', {}).setdefault('contact_details', {})[
'phone'] = contact_details.phone if phone is None else phone # str
body.setdefault('details', {}).setdefault('contact_details', {})[
'mobile'] = contact_details.mobile if mobile is None else mobile # str
body.setdefault('details', {}).setdefault('contact_details', {})[
'email_list'] = contact_details.email_list if email_list is None else email_list
body.setdefault('details', {}).setdefault('shipping_address', {})[
'street_address1'] = shipping_address.street_address1 if street_address1 is None else street_address1 # str
body.setdefault('details', {}).setdefault('shipping_address', {})[
'street_address2'] = shipping_address.street_address2 if street_address2 is None else street_address2 # str
body.setdefault('details', {}).setdefault('shipping_address', {})[
'street_address3'] = shipping_address.street_address3 if street_address3 is None else street_address3 # str
body.setdefault('details', {}).setdefault('shipping_address', {})[
'city'] = shipping_address.city if city is None else city # str
body.setdefault('details', {}).setdefault('shipping_address', {})[
'state_or_province'] = shipping_address.state_or_province if state_or_province is None else state_or_province # str
body.setdefault('details', {}).setdefault('shipping_address', {})[
'country'] = shipping_address.country if country is None else country # str
body.setdefault('details', {}).setdefault('shipping_address', {})[
'postal_code'] = shipping_address.postal_code if postal_code is None else postal_code # str
body.setdefault('details', {}).setdefault('shipping_address', {})[
'company_name'] = shipping_address.company_name if company_name is None else company_name # str

return client.update(resource_group_name=resource_group_name, job_name=job_name, job_resource_update_parameter=body)


def delete_databox_job(client,
resource_group_name,
job_name):
return client.delete(resource_group_name=resource_group_name, job_name=job_name)


def get_databox_job(client,
resource_group_name,
job_name):
return client.get(resource_group_name=resource_group_name, job_name=job_name, expand='details')


def list_databox_job(client,
resource_group_name=None):
if resource_group_name is not None:
return client.list_by_resource_group(resource_group_name=resource_group_name)
return client.list()


def cancel_databox_job(client,
resource_group_name,
job_name,
reason):
return client.cancel(resource_group_name=resource_group_name, job_name=job_name, reason=reason)


def list_credentials_databox_job(client,
resource_group_name,
job_name):
return client.list_credentials(resource_group_name=resource_group_name, job_name=job_name)
# Licensed under the MIT License. See License.txt in the project root for
# license information.
#
# Code generated by Microsoft (R) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is
# regenerated.
# --------------------------------------------------------------------------
# pylint: disable=wildcard-import
# pylint: disable=unused-wildcard-import

from .generated.custom import * # noqa: F403
try:
from .manual.custom import * # noqa: F403
except ImportError:
pass
12 changes: 12 additions & 0 deletions src/databox/azext_databox/generated/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# coding=utf-8
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See License.txt in the project root for
# license information.
#
# Code generated by Microsoft (R) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is
# regenerated.
# --------------------------------------------------------------------------

__path__ = __import__('pkgutil').extend_path(__path__, __name__)
24 changes: 24 additions & 0 deletions src/databox/azext_databox/generated/_client_factory.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See License.txt in the project root for
# license information.
#
# Code generated by Microsoft (R) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is
# regenerated.
# --------------------------------------------------------------------------


def cf_databox_cl(cli_ctx, *_):
from azure.cli.core.commands.client_factory import get_mgmt_service_client
from ..vendored_sdks.databox import DataBoxManagementClient
return get_mgmt_service_client(cli_ctx,
DataBoxManagementClient)


def cf_job(cli_ctx, *_):
return cf_databox_cl(cli_ctx).job


def cf_service(cli_ctx, *_):
return cf_databox_cl(cli_ctx).service
Loading