Skip to content

Commit

Permalink
Merge pull request #314 from microsoft/dev
Browse files Browse the repository at this point in the history
Dev
  • Loading branch information
colbylwilliams authored Feb 9, 2022
2 parents ed37889 + 582738a commit 4dff314
Show file tree
Hide file tree
Showing 39 changed files with 3,240 additions and 1,944 deletions.
4 changes: 4 additions & 0 deletions client/tc/HISTORY.rst
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,10 @@
Release History
===============

0.5.3
++++++
+ Rename ARM template param to version

0.5.2
++++++
+ Deploy apps using containers
Expand Down
4 changes: 4 additions & 0 deletions client/tc/azext_tc/_deploy_utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -101,6 +101,7 @@ def get_local_index(index_file):
def get_teamcloud_index(version=None, prerelease=False, index_file=None, index_url=None):
if index_file is not None:
index = get_local_index(index_file=index_file)
version = 'local'
else:
if index_url is None:
version = version or get_github_latest_release_version('TeamCloud', prerelease=prerelease)
Expand All @@ -113,9 +114,12 @@ def get_teamcloud_index(version=None, prerelease=False, index_file=None, index_u
logger.warning(ERR_UNABLE_TO_GET_TEAMCLOUD)

deploy_url = teamcloud.get('deployUrl')
version = version or teamcloud.get('version')

if not deploy_url:
raise CLIError('No deployUrl found in index')
if not version:
version = 'unknown'
return version, deploy_url


Expand Down
11 changes: 3 additions & 8 deletions client/tc/azext_tc/custom.py
Original file line number Diff line number Diff line change
Expand Up @@ -84,11 +84,7 @@ def teamcloud_deploy(cmd, name, client_id, location=None, resource_group_name='T
parameters.append(f"resourceManagerIdentityClientId={resource_manager_sp['appId']}")
parameters.append(f"resourceManagerIdentityClientSecret={resource_manager_sp['password']}")
parameters.append(f'reactAppMsalClientId={client_id}')

if version:
parameters.append(f'reactAppVersion={version}')
elif index_file:
parameters.append('reactAppVersion=local')
parameters.append(f'version={version}')

if scope:
parameters.append(f'reactAppMsalScope={scope}')
Expand All @@ -113,8 +109,7 @@ def teamcloud_deploy(cmd, name, client_id, location=None, resource_group_name='T
'IMPORTANT: --skip-app-deployment prevented source code for the TeamCloud instance deployment. '
'To deploy the applications use `az tc upgrade`.')
else:
version_string = version or 'the latest version'
hook.add(message=f'Successfully created TeamCloud instance ({version_string})')
hook.add(message=f'Successfully created TeamCloud instance ({version})')

hook.end(message=' ')
logger.warning(' ')
Expand All @@ -124,7 +119,7 @@ def teamcloud_deploy(cmd, name, client_id, location=None, resource_group_name='T

result = {
'deployed': not skip_app_deployment,
'version': version or 'latest',
'version': version,
'name': name,
'base_url': api_url,
'location': rg.location,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@

from ... import models as _models
from ..._vendor import _convert_request
from ...operations._team_cloud_client_operations import build_cancel_component_task_request, build_create_component_request, build_create_component_task_request, build_create_deployment_scope_request, build_create_organization_request, build_create_organization_user_request, build_create_project_identity_request, build_create_project_request, build_create_project_tag_request, build_create_project_template_request, build_create_project_user_request, build_create_schedule_request, build_delete_component_request, build_delete_deployment_scope_request, build_delete_organization_request, build_delete_organization_user_request, build_delete_project_identity_request, build_delete_project_request, build_delete_project_tag_request, build_delete_project_template_request, build_delete_project_user_request, build_get_adapters_request, build_get_audit_commands_request, build_get_audit_entries_request, build_get_audit_entry_request, build_get_component_request, build_get_component_task_request, build_get_component_tasks_request, build_get_component_template_request, build_get_component_templates_request, build_get_components_request, build_get_deployment_scope_request, build_get_deployment_scopes_request, build_get_organization_request, build_get_organization_user_me_request, build_get_organization_user_request, build_get_organization_users_request, build_get_organizations_request, build_get_project_identities_request, build_get_project_identity_request, build_get_project_request, build_get_project_status_request, build_get_project_tag_by_key_request, build_get_project_tags_request, build_get_project_template_request, build_get_project_templates_request, build_get_project_user_me_request, build_get_project_user_request, build_get_project_users_request, build_get_projects_request, build_get_schedule_request, build_get_schedules_request, build_get_status_request, build_get_user_projects_me_request, build_get_user_projects_request, build_initialize_authorization_request, build_negotiate_signal_r_request, build_re_run_component_task_request, build_run_schedule_request, build_update_deployment_scope_request, build_update_organization_user_me_request, build_update_organization_user_request, build_update_project_identity_request, build_update_project_tag_request, build_update_project_template_request, build_update_project_user_me_request, build_update_project_user_request, build_update_schedule_request
from ...operations._team_cloud_client_operations import build_cancel_component_task_request, build_create_component_request, build_create_component_task_request, build_create_deployment_scope_request, build_create_organization_request, build_create_organization_user_request, build_create_project_identity_request, build_create_project_request, build_create_project_tag_request, build_create_project_template_request, build_create_project_user_request, build_create_schedule_request, build_delete_component_request, build_delete_deployment_scope_request, build_delete_organization_request, build_delete_organization_user_request, build_delete_project_identity_request, build_delete_project_request, build_delete_project_tag_request, build_delete_project_template_request, build_delete_project_user_request, build_get_adapters_request, build_get_audit_commands_request, build_get_audit_entries_request, build_get_audit_entry_request, build_get_component_request, build_get_component_task_request, build_get_component_tasks_request, build_get_component_template_request, build_get_component_templates_request, build_get_components_request, build_get_deployment_scope_request, build_get_deployment_scopes_request, build_get_info_request, build_get_organization_request, build_get_organization_user_me_request, build_get_organization_user_request, build_get_organization_users_request, build_get_organizations_request, build_get_project_identities_request, build_get_project_identity_request, build_get_project_request, build_get_project_status_request, build_get_project_tag_by_key_request, build_get_project_tags_request, build_get_project_template_request, build_get_project_templates_request, build_get_project_user_me_request, build_get_project_user_request, build_get_project_users_request, build_get_projects_request, build_get_schedule_request, build_get_schedules_request, build_get_status_request, build_get_user_projects_me_request, build_get_user_projects_request, build_initialize_authorization_request, build_negotiate_signal_r_request, build_re_run_component_task_request, build_run_schedule_request, build_update_deployment_scope_request, build_update_organization_user_me_request, build_update_organization_user_request, build_update_project_identity_request, build_update_project_tag_request, build_update_project_template_request, build_update_project_user_me_request, build_update_project_user_request, build_update_schedule_request
T = TypeVar('T')
ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]]

Expand Down Expand Up @@ -3809,6 +3809,50 @@ async def update_project_user_me(
update_project_user_me.metadata = {'url': '/orgs/{organizationId}/projects/{projectId}/users/me'} # type: ignore


@distributed_trace_async
async def get_info(
self,
**kwargs: Any
) -> "_models.TeamCloudInformationDataResult":
"""Gets information about this TeamCloud deployment.
Gets information about this TeamCloud deployment.
:keyword callable cls: A custom type or function that will be passed the direct response
:return: TeamCloudInformationDataResult, or the result of cls(response)
:rtype: ~teamcloud.models.TeamCloudInformationDataResult
:raises: ~azure.core.exceptions.HttpResponseError
"""
cls = kwargs.pop('cls', None) # type: ClsType["_models.TeamCloudInformationDataResult"]
error_map = {
401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
}
error_map.update(kwargs.pop('error_map', {}))


request = build_get_info_request(
template_url=self.get_info.metadata['url'],
)
request = _convert_request(request)
request.url = self._client.format_url(request.url)

pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs)
response = pipeline_response.http_response

if response.status_code not in [200]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
raise HttpResponseError(response=response)

deserialized = self._deserialize('TeamCloudInformationDataResult', pipeline_response)

if cls:
return cls(pipeline_response, deserialized, {})

return deserialized

get_info.metadata = {'url': '/'} # type: ignore


@distributed_trace_async
async def get_schedules(
self,
Expand Down
6 changes: 6 additions & 0 deletions client/tc/azext_tc/vendored_sdks/teamcloud/models/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,8 @@
from ._models_py3 import StatusResult
from ._models_py3 import StringDictionaryDataResult
from ._models_py3 import StringListDataResult
from ._models_py3 import TeamCloudInformation
from ._models_py3 import TeamCloudInformationDataResult
from ._models_py3 import User
from ._models_py3 import UserAlternateIdentities
from ._models_py3 import UserDataResult
Expand Down Expand Up @@ -120,6 +122,8 @@
from ._models import StatusResult # type: ignore
from ._models import StringDictionaryDataResult # type: ignore
from ._models import StringListDataResult # type: ignore
from ._models import TeamCloudInformation # type: ignore
from ._models import TeamCloudInformationDataResult # type: ignore
from ._models import User # type: ignore
from ._models import UserAlternateIdentities # type: ignore
from ._models import UserDataResult # type: ignore
Expand Down Expand Up @@ -205,6 +209,8 @@
'StatusResult',
'StringDictionaryDataResult',
'StringListDataResult',
'TeamCloudInformation',
'TeamCloudInformationDataResult',
'User',
'UserAlternateIdentities',
'UserDataResult',
Expand Down
64 changes: 64 additions & 0 deletions client/tc/azext_tc/vendored_sdks/teamcloud/models/_models.py
Original file line number Diff line number Diff line change
Expand Up @@ -3027,6 +3027,70 @@ def __init__(
self.location = kwargs.get('location', None)


class TeamCloudInformation(msrest.serialization.Model):
"""TeamCloudInformation.
:ivar version:
:vartype version: str
"""

_attribute_map = {
'version': {'key': 'version', 'type': 'str'},
}

def __init__(
self,
**kwargs
):
"""
:keyword version:
:paramtype version: str
"""
super(TeamCloudInformation, self).__init__(**kwargs)
self.version = kwargs.get('version', None)


class TeamCloudInformationDataResult(msrest.serialization.Model):
"""TeamCloudInformationDataResult.
:ivar code:
:vartype code: int
:ivar status:
:vartype status: str
:ivar data:
:vartype data: ~teamcloud.models.TeamCloudInformation
:ivar location:
:vartype location: str
"""

_attribute_map = {
'code': {'key': 'code', 'type': 'int'},
'status': {'key': 'status', 'type': 'str'},
'data': {'key': 'data', 'type': 'TeamCloudInformation'},
'location': {'key': 'location', 'type': 'str'},
}

def __init__(
self,
**kwargs
):
"""
:keyword code:
:paramtype code: int
:keyword status:
:paramtype status: str
:keyword data:
:paramtype data: ~teamcloud.models.TeamCloudInformation
:keyword location:
:paramtype location: str
"""
super(TeamCloudInformationDataResult, self).__init__(**kwargs)
self.code = kwargs.get('code', None)
self.status = kwargs.get('status', None)
self.data = kwargs.get('data', None)
self.location = kwargs.get('location', None)


class User(msrest.serialization.Model):
"""User.
Expand Down
71 changes: 71 additions & 0 deletions client/tc/azext_tc/vendored_sdks/teamcloud/models/_models_py3.py
Original file line number Diff line number Diff line change
Expand Up @@ -3372,6 +3372,77 @@ def __init__(
self.location = location


class TeamCloudInformation(msrest.serialization.Model):
"""TeamCloudInformation.
:ivar version:
:vartype version: str
"""

_attribute_map = {
'version': {'key': 'version', 'type': 'str'},
}

def __init__(
self,
*,
version: Optional[str] = None,
**kwargs
):
"""
:keyword version:
:paramtype version: str
"""
super(TeamCloudInformation, self).__init__(**kwargs)
self.version = version


class TeamCloudInformationDataResult(msrest.serialization.Model):
"""TeamCloudInformationDataResult.
:ivar code:
:vartype code: int
:ivar status:
:vartype status: str
:ivar data:
:vartype data: ~teamcloud.models.TeamCloudInformation
:ivar location:
:vartype location: str
"""

_attribute_map = {
'code': {'key': 'code', 'type': 'int'},
'status': {'key': 'status', 'type': 'str'},
'data': {'key': 'data', 'type': 'TeamCloudInformation'},
'location': {'key': 'location', 'type': 'str'},
}

def __init__(
self,
*,
code: Optional[int] = None,
status: Optional[str] = None,
data: Optional["TeamCloudInformation"] = None,
location: Optional[str] = None,
**kwargs
):
"""
:keyword code:
:paramtype code: int
:keyword status:
:paramtype status: str
:keyword data:
:paramtype data: ~teamcloud.models.TeamCloudInformation
:keyword location:
:paramtype location: str
"""
super(TeamCloudInformationDataResult, self).__init__(**kwargs)
self.code = code
self.status = status
self.data = data
self.location = location


class User(msrest.serialization.Model):
"""User.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1760,6 +1760,26 @@ def build_update_project_user_me_request(
)


def build_get_info_request(
**kwargs # type: Any
):
# type: (...) -> HttpRequest
accept = "application/json"
# Construct URL
url = kwargs.pop("template_url", '/')

# Construct headers
header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any]
header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str')

return HttpRequest(
method="GET",
url=url,
headers=header_parameters,
**kwargs
)


def build_get_schedules_request(
organization_id, # type: str
project_id, # type: str
Expand Down Expand Up @@ -5873,6 +5893,51 @@ def update_project_user_me(
update_project_user_me.metadata = {'url': '/orgs/{organizationId}/projects/{projectId}/users/me'} # type: ignore


@distributed_trace
def get_info(
self,
**kwargs # type: Any
):
# type: (...) -> "_models.TeamCloudInformationDataResult"
"""Gets information about this TeamCloud deployment.
Gets information about this TeamCloud deployment.
:keyword callable cls: A custom type or function that will be passed the direct response
:return: TeamCloudInformationDataResult, or the result of cls(response)
:rtype: ~teamcloud.models.TeamCloudInformationDataResult
:raises: ~azure.core.exceptions.HttpResponseError
"""
cls = kwargs.pop('cls', None) # type: ClsType["_models.TeamCloudInformationDataResult"]
error_map = {
401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
}
error_map.update(kwargs.pop('error_map', {}))


request = build_get_info_request(
template_url=self.get_info.metadata['url'],
)
request = _convert_request(request)
request.url = self._client.format_url(request.url)

pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs)
response = pipeline_response.http_response

if response.status_code not in [200]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
raise HttpResponseError(response=response)

deserialized = self._deserialize('TeamCloudInformationDataResult', pipeline_response)

if cls:
return cls(pipeline_response, deserialized, {})

return deserialized

get_info.metadata = {'url': '/'} # type: ignore


@distributed_trace
def get_schedules(
self,
Expand Down
2 changes: 1 addition & 1 deletion client/tc/setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
logger.warn("Wheel is not available, disabling bdist_wheel hook")

# Must match a HISTORY.rst entry.
VERSION = '0.5.2'
VERSION = '0.5.3'

# The full list of classifiers is available at
# https://pypi.python.org/pypi?%3Aaction=list_classifiers
Expand Down
Loading

0 comments on commit 4dff314

Please sign in to comment.