Skip to content

Commit

Permalink
Migrate to track2 and fix issue for list (#3360)
Browse files Browse the repository at this point in the history
  • Loading branch information
zhoxing-ms authored May 13, 2021
1 parent ec559c1 commit 8eb2659
Show file tree
Hide file tree
Showing 26 changed files with 1,265 additions and 1,722 deletions.
5 changes: 5 additions & 0 deletions src/stack-hci/HISTORY.rst
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,11 @@
Release History
===============

0.1.3
++++++
* Fix the issue that listing clusters under subscription doesn't work
* Migrate to track 2 SDK

0.1.2
++++++
* GA stack-hci extension
Expand Down
7 changes: 5 additions & 2 deletions src/stack-hci/azext_stack_hci/generated/custom.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ def stack_hci_cluster_list(client,
resource_group_name=None):
if resource_group_name:
return client.list_by_resource_group(resource_group_name=resource_group_name)
return client.list()
return client.list_by_subscription()


def stack_hci_cluster_show(client,
Expand Down Expand Up @@ -50,9 +50,12 @@ def stack_hci_cluster_update(client,
resource_group_name,
cluster_name,
tags=None):

from azext_stack_hci.vendored_sdks.azurestackhci.models._models import ClusterUpdate
cluster = ClusterUpdate(tags=tags)
return client.update(resource_group_name=resource_group_name,
cluster_name=cluster_name,
tags=tags)
cluster=cluster)


def stack_hci_cluster_delete(client,
Expand Down
464 changes: 276 additions & 188 deletions src/stack-hci/azext_stack_hci/tests/latest/recordings/test_stack_hci.yaml

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,9 @@ def step__clusters_list_clusters(test, rg, cluster_amount):
'--resource-group "{rg}"',
checks=[test.check('length([])', cluster_amount)])

test.cmd('az stack-hci cluster list ',
checks=[test.check('length([])', cluster_amount)])


# EXAMPLE: /Clusters/patch/GetClusters
@try_manual
Expand Down
13 changes: 1 addition & 12 deletions src/stack-hci/azext_stack_hci/vendored_sdks/__init__.py
Original file line number Diff line number Diff line change
@@ -1,12 +1 @@
# 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__)
__path__ = __import__('pkgutil').extend_path(__path__, __name__)
Original file line number Diff line number Diff line change
@@ -1,19 +1,19 @@
# 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.
#
# 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.
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------

from ._configuration import AzureStackHCIClientConfiguration
from ._azure_stack_hci_client import AzureStackHCIClient
__all__ = ['AzureStackHCIClient', 'AzureStackHCIClientConfiguration']

from .version import VERSION
from ._version import VERSION

__version__ = VERSION
__all__ = ['AzureStackHCIClient']

try:
from ._patch import patch_sdk # type: ignore
patch_sdk()
except ImportError:
pass
Original file line number Diff line number Diff line change
@@ -1,54 +1,74 @@
# 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.
#
# 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.
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------

from msrest.service_client import SDKClient
from msrest import Serializer, Deserializer
from typing import TYPE_CHECKING

from azure.mgmt.core import ARMPipelineClient
from msrest import Deserializer, Serializer

if TYPE_CHECKING:
# pylint: disable=unused-import,ungrouped-imports
from typing import Any, Optional

from azure.core.credentials import TokenCredential

from ._configuration import AzureStackHCIClientConfiguration
from .operations import Operations
from .operations import ClustersOperations
from . import models


class AzureStackHCIClient(SDKClient):
"""Azure Stack HCI management service
:ivar config: Configuration for client.
:vartype config: AzureStackHCIClientConfiguration
class AzureStackHCIClient(object):
"""Azure Stack HCI management service.
:ivar operations: Operations operations
:vartype operations: azure.mgmt.azurestackhci.operations.Operations
:ivar clusters: Clusters operations
:ivar clusters: ClustersOperations operations
:vartype clusters: azure.mgmt.azurestackhci.operations.ClustersOperations
:param credentials: Credentials needed for the client to connect to Azure.
:type credentials: :mod:`A msrestazure Credentials
object<msrestazure.azure_active_directory>`
:param credential: Credential needed for the client to connect to Azure.
:type credential: ~azure.core.credentials.TokenCredential
:param subscription_id: The ID of the target subscription.
:type subscription_id: str
:param str base_url: Service URL
"""

def __init__(
self, credentials, subscription_id, base_url=None):

self.config = AzureStackHCIClientConfiguration(credentials, subscription_id, base_url)
super(AzureStackHCIClient, self).__init__(self.config.credentials, self.config)
self,
credential, # type: "TokenCredential"
subscription_id, # type: str
base_url=None, # type: Optional[str]
**kwargs # type: Any
):
# type: (...) -> None
if not base_url:
base_url = 'https://management.azure.com'
self._config = AzureStackHCIClientConfiguration(credential, subscription_id, **kwargs)
self._client = ARMPipelineClient(base_url=base_url, config=self._config, **kwargs)

client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)}
self.api_version = '2020-10-01'
self._serialize = Serializer(client_models)
self._serialize.client_side_validation = False
self._deserialize = Deserializer(client_models)

self.operations = Operations(
self._client, self.config, self._serialize, self._deserialize)
self._client, self._config, self._serialize, self._deserialize)
self.clusters = ClustersOperations(
self._client, self.config, self._serialize, self._deserialize)
self._client, self._config, self._serialize, self._deserialize)

def close(self):
# type: () -> None
self._client.close()

def __enter__(self):
# type: () -> AzureStackHCIClient
self._client.__enter__()
return self

def __exit__(self, *exc_details):
# type: (Any) -> None
self._client.__exit__(*exc_details)
Original file line number Diff line number Diff line change
@@ -1,48 +1,71 @@
# 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.
#
# 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.
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
from msrestazure import AzureConfiguration

from .version import VERSION
from typing import TYPE_CHECKING

from azure.core.configuration import Configuration
from azure.core.pipeline import policies
from azure.mgmt.core.policies import ARMHttpLoggingPolicy

from ._version import VERSION

if TYPE_CHECKING:
# pylint: disable=unused-import,ungrouped-imports
from typing import Any

from azure.core.credentials import TokenCredential


class AzureStackHCIClientConfiguration(Configuration):
"""Configuration for AzureStackHCIClient.
class AzureStackHCIClientConfiguration(AzureConfiguration):
"""Configuration for AzureStackHCIClient
Note that all parameters used to create this instance are saved as instance
attributes.
:param credentials: Credentials needed for the client to connect to Azure.
:type credentials: :mod:`A msrestazure Credentials
object<msrestazure.azure_active_directory>`
:param credential: Credential needed for the client to connect to Azure.
:type credential: ~azure.core.credentials.TokenCredential
:param subscription_id: The ID of the target subscription.
:type subscription_id: str
:param str base_url: Service URL
"""

def __init__(
self, credentials, subscription_id, base_url=None):

if credentials is None:
raise ValueError("Parameter 'credentials' must not be None.")
self,
credential, # type: "TokenCredential"
subscription_id, # type: str
**kwargs # type: Any
):
# type: (...) -> None
if credential is None:
raise ValueError("Parameter 'credential' must not be None.")
if subscription_id is None:
raise ValueError("Parameter 'subscription_id' must not be None.")
if not base_url:
base_url = 'https://management.azure.com'

super(AzureStackHCIClientConfiguration, self).__init__(base_url)

# Starting Autorest.Python 4.0.64, make connection pool activated by default
self.keep_alive = True
super(AzureStackHCIClientConfiguration, self).__init__(**kwargs)

self.add_user_agent('azure-mgmt-azurestackhci/{}'.format(VERSION))
self.add_user_agent('Azure-SDK-For-Python')

self.credentials = credentials
self.credential = credential
self.subscription_id = subscription_id
self.api_version = "2020-10-01"
self.credential_scopes = kwargs.pop('credential_scopes', ['https://management.azure.com/.default'])
kwargs.setdefault('sdk_moniker', 'mgmt-azurestackhci/{}'.format(VERSION))
self._configure(**kwargs)

def _configure(
self,
**kwargs # type: Any
):
# type: (...) -> None
self.user_agent_policy = kwargs.get('user_agent_policy') or policies.UserAgentPolicy(**kwargs)
self.headers_policy = kwargs.get('headers_policy') or policies.HeadersPolicy(**kwargs)
self.proxy_policy = kwargs.get('proxy_policy') or policies.ProxyPolicy(**kwargs)
self.logging_policy = kwargs.get('logging_policy') or policies.NetworkTraceLoggingPolicy(**kwargs)
self.http_logging_policy = kwargs.get('http_logging_policy') or ARMHttpLoggingPolicy(**kwargs)
self.retry_policy = kwargs.get('retry_policy') or policies.RetryPolicy(**kwargs)
self.custom_hook_policy = kwargs.get('custom_hook_policy') or policies.CustomHookPolicy(**kwargs)
self.redirect_policy = kwargs.get('redirect_policy') or policies.RedirectPolicy(**kwargs)
self.authentication_policy = kwargs.get('authentication_policy')
if self.credential and not self.authentication_policy:
self.authentication_policy = policies.BearerTokenCredentialPolicy(self.credential, *self.credential_scopes, **kwargs)
Original file line number Diff line number Diff line change
@@ -1,13 +1,10 @@
# 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.
#
# 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.
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------

VERSION = "1.0.0rc1"
VERSION = "6.0.0b1"

Original file line number Diff line number Diff line change
Expand Up @@ -6,5 +6,5 @@
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------

from ._azure_stack_hci_client_async import AzureStackHCIClient
from ._azure_stack_hci_client import AzureStackHCIClient
__all__ = ['AzureStackHCIClient']
Original file line number Diff line number Diff line change
Expand Up @@ -15,25 +15,24 @@
# pylint: disable=unused-import,ungrouped-imports
from azure.core.credentials_async import AsyncTokenCredential

from ._configuration_async import AzureStackHCIClientConfiguration
from .operations_async import OperationOperations
from .operations_async import ClusterOperations
from ._configuration import AzureStackHCIClientConfiguration
from .operations import Operations
from .operations import ClustersOperations
from .. import models


class AzureStackHCIClient(object):
"""Azure Stack HCI management service.
:ivar operation: OperationOperations operations
:vartype operation: azure_stack_hci_client.aio.operations_async.OperationOperations
:ivar cluster: ClusterOperations operations
:vartype cluster: azure_stack_hci_client.aio.operations_async.ClusterOperations
:ivar operations: Operations operations
:vartype operations: azure.mgmt.azurestackhci.aio.operations.Operations
:ivar clusters: ClustersOperations operations
:vartype clusters: azure.mgmt.azurestackhci.aio.operations.ClustersOperations
:param credential: Credential needed for the client to connect to Azure.
:type credential: ~azure.core.credentials_async.AsyncTokenCredential
:param subscription_id: The ID of the target subscription.
:type subscription_id: str
:param str base_url: Service URL
:keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present.
"""

def __init__(
Expand All @@ -50,11 +49,12 @@ def __init__(

client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)}
self._serialize = Serializer(client_models)
self._serialize.client_side_validation = False
self._deserialize = Deserializer(client_models)

self.operation = OperationOperations(
self.operations = Operations(
self._client, self._config, self._serialize, self._deserialize)
self.cluster = ClusterOperations(
self.clusters = ClustersOperations(
self._client, self._config, self._serialize, self._deserialize)

async def close(self) -> None:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,12 +10,14 @@

from azure.core.configuration import Configuration
from azure.core.pipeline import policies
from azure.mgmt.core.policies import ARMHttpLoggingPolicy

from .._version import VERSION

if TYPE_CHECKING:
# pylint: disable=unused-import,ungrouped-imports
from azure.core.credentials_async import AsyncTokenCredential

VERSION = "unknown"

class AzureStackHCIClientConfiguration(Configuration):
"""Configuration for AzureStackHCIClient.
Expand Down Expand Up @@ -43,10 +45,9 @@ def __init__(

self.credential = credential
self.subscription_id = subscription_id
self.api_version = "2020-03-01-preview"
self.credential_scopes = ['https://management.azure.com/.default']
self.credential_scopes.extend(kwargs.pop('credential_scopes', []))
kwargs.setdefault('sdk_moniker', 'azurestackhciclient/{}'.format(VERSION))
self.api_version = "2020-10-01"
self.credential_scopes = kwargs.pop('credential_scopes', ['https://management.azure.com/.default'])
kwargs.setdefault('sdk_moniker', 'mgmt-azurestackhci/{}'.format(VERSION))
self._configure(**kwargs)

def _configure(
Expand All @@ -57,6 +58,7 @@ def _configure(
self.headers_policy = kwargs.get('headers_policy') or policies.HeadersPolicy(**kwargs)
self.proxy_policy = kwargs.get('proxy_policy') or policies.ProxyPolicy(**kwargs)
self.logging_policy = kwargs.get('logging_policy') or policies.NetworkTraceLoggingPolicy(**kwargs)
self.http_logging_policy = kwargs.get('http_logging_policy') or ARMHttpLoggingPolicy(**kwargs)
self.retry_policy = kwargs.get('retry_policy') or policies.AsyncRetryPolicy(**kwargs)
self.custom_hook_policy = kwargs.get('custom_hook_policy') or policies.CustomHookPolicy(**kwargs)
self.redirect_policy = kwargs.get('redirect_policy') or policies.AsyncRedirectPolicy(**kwargs)
Expand Down
Loading

0 comments on commit 8eb2659

Please sign in to comment.