From d19466d50e7d109dcb4a4f88ad588d8665b137e8 Mon Sep 17 00:00:00 2001 From: SDKAuto Date: Thu, 4 Feb 2021 20:02:51 +0000 Subject: [PATCH] CodeGen from PR 12825 in Azure/azure-rest-api-specs Merge 1baa8946c9b1082547c14130604a0b84d29c1a09 into 32b7b579549d417d5a799b4d0527f5ad9dd73fc3 --- .../_container_instance_management_client.py | 2 +- .../mgmt/containerinstance/models/__init__.py | 6 ++ .../mgmt/containerinstance/models/_models.py | 49 ++++++++++++ .../containerinstance/models/_models_py3.py | 53 ++++++++++++- .../_container_groups_operations.py | 6 +- .../operations/_containers_operations.py | 78 ++++++++++++++++++- .../operations/_location_operations.py | 4 +- .../operations/_operations.py | 4 +- 8 files changed, 189 insertions(+), 13 deletions(-) diff --git a/sdk/containerinstance/azure-mgmt-containerinstance/azure/mgmt/containerinstance/_container_instance_management_client.py b/sdk/containerinstance/azure-mgmt-containerinstance/azure/mgmt/containerinstance/_container_instance_management_client.py index e00088ac987f..c0039a0aa81b 100644 --- a/sdk/containerinstance/azure-mgmt-containerinstance/azure/mgmt/containerinstance/_container_instance_management_client.py +++ b/sdk/containerinstance/azure-mgmt-containerinstance/azure/mgmt/containerinstance/_container_instance_management_client.py @@ -52,7 +52,7 @@ def __init__( super(ContainerInstanceManagementClient, self).__init__(self.config.credentials, self.config) client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)} - self.api_version = '2019-12-01' + self.api_version = '2021-03-01' self._serialize = Serializer(client_models) self._deserialize = Deserializer(client_models) diff --git a/sdk/containerinstance/azure-mgmt-containerinstance/azure/mgmt/containerinstance/models/__init__.py b/sdk/containerinstance/azure-mgmt-containerinstance/azure/mgmt/containerinstance/models/__init__.py index fb106fa7b356..dd640d5a3aee 100644 --- a/sdk/containerinstance/azure-mgmt-containerinstance/azure/mgmt/containerinstance/models/__init__.py +++ b/sdk/containerinstance/azure-mgmt-containerinstance/azure/mgmt/containerinstance/models/__init__.py @@ -15,6 +15,7 @@ from ._models_py3 import Capabilities from ._models_py3 import CapabilitiesCapabilities from ._models_py3 import Container + from ._models_py3 import ContainerAttachResponse from ._models_py3 import ContainerExec from ._models_py3 import ContainerExecRequest from ._models_py3 import ContainerExecRequestTerminalSize @@ -36,6 +37,7 @@ from ._models_py3 import Event from ._models_py3 import GitRepoVolume from ._models_py3 import GpuResource + from ._models_py3 import HttpHeaders from ._models_py3 import ImageRegistryCredential from ._models_py3 import InitContainerDefinition from ._models_py3 import InitContainerPropertiesDefinitionInstanceView @@ -59,6 +61,7 @@ from ._models import Capabilities from ._models import CapabilitiesCapabilities from ._models import Container + from ._models import ContainerAttachResponse from ._models import ContainerExec from ._models import ContainerExecRequest from ._models import ContainerExecRequestTerminalSize @@ -80,6 +83,7 @@ from ._models import Event from ._models import GitRepoVolume from ._models import GpuResource + from ._models import HttpHeaders from ._models import ImageRegistryCredential from ._models import InitContainerDefinition from ._models import InitContainerPropertiesDefinitionInstanceView @@ -122,6 +126,7 @@ 'Capabilities', 'CapabilitiesCapabilities', 'Container', + 'ContainerAttachResponse', 'ContainerExec', 'ContainerExecRequest', 'ContainerExecRequestTerminalSize', @@ -143,6 +148,7 @@ 'Event', 'GitRepoVolume', 'GpuResource', + 'HttpHeaders', 'ImageRegistryCredential', 'InitContainerDefinition', 'InitContainerPropertiesDefinitionInstanceView', diff --git a/sdk/containerinstance/azure-mgmt-containerinstance/azure/mgmt/containerinstance/models/_models.py b/sdk/containerinstance/azure-mgmt-containerinstance/azure/mgmt/containerinstance/models/_models.py index f360b19f0056..5d1af2defd8b 100644 --- a/sdk/containerinstance/azure-mgmt-containerinstance/azure/mgmt/containerinstance/models/_models.py +++ b/sdk/containerinstance/azure-mgmt-containerinstance/azure/mgmt/containerinstance/models/_models.py @@ -294,6 +294,27 @@ def __init__(self, **kwargs): self.readiness_probe = kwargs.get('readiness_probe', None) +class ContainerAttachResponse(Model): + """The information for the output stream from container attach. + + :param web_socket_uri: The uri for the output stream from the attach. + :type web_socket_uri: str + :param password: The password to the output stream from the attach. Send + as an Authorization header value when connecting to the websocketUri. + :type password: str + """ + + _attribute_map = { + 'web_socket_uri': {'key': 'webSocketUri', 'type': 'str'}, + 'password': {'key': 'password', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ContainerAttachResponse, self).__init__(**kwargs) + self.web_socket_uri = kwargs.get('web_socket_uri', None) + self.password = kwargs.get('password', None) + + class ContainerExec(Model): """The container execution command, for liveness or readiness probe. @@ -689,6 +710,8 @@ class ContainerHttpGet(Model): :type port: int :param scheme: The scheme. Possible values include: 'http', 'https' :type scheme: str or ~azure.mgmt.containerinstance.models.Scheme + :param http_headers: The HTTP headers. + :type http_headers: ~azure.mgmt.containerinstance.models.HttpHeaders """ _validation = { @@ -699,6 +722,7 @@ class ContainerHttpGet(Model): 'path': {'key': 'path', 'type': 'str'}, 'port': {'key': 'port', 'type': 'int'}, 'scheme': {'key': 'scheme', 'type': 'str'}, + 'http_headers': {'key': 'httpHeaders', 'type': 'HttpHeaders'}, } def __init__(self, **kwargs): @@ -706,6 +730,7 @@ def __init__(self, **kwargs): self.path = kwargs.get('path', None) self.port = kwargs.get('port', None) self.scheme = kwargs.get('scheme', None) + self.http_headers = kwargs.get('http_headers', None) class ContainerPort(Model): @@ -1066,6 +1091,26 @@ def __init__(self, **kwargs): self.sku = kwargs.get('sku', None) +class HttpHeaders(Model): + """The HTTP headers. + + :param name: The header name. + :type name: str + :param value: The header value. + :type value: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(HttpHeaders, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.value = kwargs.get('value', None) + + class ImageRegistryCredential(Model): """Image registry credential. @@ -1251,6 +1296,8 @@ class LogAnalytics(Model): ~azure.mgmt.containerinstance.models.LogAnalyticsLogType :param metadata: Metadata for log analytics. :type metadata: dict[str, str] + :param workspace_resource_id: The workspace resource id for log analytics + :type workspace_resource_id: dict[str, str] """ _validation = { @@ -1263,6 +1310,7 @@ class LogAnalytics(Model): 'workspace_key': {'key': 'workspaceKey', 'type': 'str'}, 'log_type': {'key': 'logType', 'type': 'str'}, 'metadata': {'key': 'metadata', 'type': '{str}'}, + 'workspace_resource_id': {'key': 'workspaceResourceId', 'type': '{str}'}, } def __init__(self, **kwargs): @@ -1271,6 +1319,7 @@ def __init__(self, **kwargs): self.workspace_key = kwargs.get('workspace_key', None) self.log_type = kwargs.get('log_type', None) self.metadata = kwargs.get('metadata', None) + self.workspace_resource_id = kwargs.get('workspace_resource_id', None) class Logs(Model): diff --git a/sdk/containerinstance/azure-mgmt-containerinstance/azure/mgmt/containerinstance/models/_models_py3.py b/sdk/containerinstance/azure-mgmt-containerinstance/azure/mgmt/containerinstance/models/_models_py3.py index 842659fa6e93..c866b339eff6 100644 --- a/sdk/containerinstance/azure-mgmt-containerinstance/azure/mgmt/containerinstance/models/_models_py3.py +++ b/sdk/containerinstance/azure-mgmt-containerinstance/azure/mgmt/containerinstance/models/_models_py3.py @@ -294,6 +294,27 @@ def __init__(self, *, name: str, image: str, resources, command=None, ports=None self.readiness_probe = readiness_probe +class ContainerAttachResponse(Model): + """The information for the output stream from container attach. + + :param web_socket_uri: The uri for the output stream from the attach. + :type web_socket_uri: str + :param password: The password to the output stream from the attach. Send + as an Authorization header value when connecting to the websocketUri. + :type password: str + """ + + _attribute_map = { + 'web_socket_uri': {'key': 'webSocketUri', 'type': 'str'}, + 'password': {'key': 'password', 'type': 'str'}, + } + + def __init__(self, *, web_socket_uri: str=None, password: str=None, **kwargs) -> None: + super(ContainerAttachResponse, self).__init__(**kwargs) + self.web_socket_uri = web_socket_uri + self.password = password + + class ContainerExec(Model): """The container execution command, for liveness or readiness probe. @@ -689,6 +710,8 @@ class ContainerHttpGet(Model): :type port: int :param scheme: The scheme. Possible values include: 'http', 'https' :type scheme: str or ~azure.mgmt.containerinstance.models.Scheme + :param http_headers: The HTTP headers. + :type http_headers: ~azure.mgmt.containerinstance.models.HttpHeaders """ _validation = { @@ -699,13 +722,15 @@ class ContainerHttpGet(Model): 'path': {'key': 'path', 'type': 'str'}, 'port': {'key': 'port', 'type': 'int'}, 'scheme': {'key': 'scheme', 'type': 'str'}, + 'http_headers': {'key': 'httpHeaders', 'type': 'HttpHeaders'}, } - def __init__(self, *, port: int, path: str=None, scheme=None, **kwargs) -> None: + def __init__(self, *, port: int, path: str=None, scheme=None, http_headers=None, **kwargs) -> None: super(ContainerHttpGet, self).__init__(**kwargs) self.path = path self.port = port self.scheme = scheme + self.http_headers = http_headers class ContainerPort(Model): @@ -1066,6 +1091,26 @@ def __init__(self, *, count: int, sku, **kwargs) -> None: self.sku = sku +class HttpHeaders(Model): + """The HTTP headers. + + :param name: The header name. + :type name: str + :param value: The header value. + :type value: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'str'}, + } + + def __init__(self, *, name: str=None, value: str=None, **kwargs) -> None: + super(HttpHeaders, self).__init__(**kwargs) + self.name = name + self.value = value + + class ImageRegistryCredential(Model): """Image registry credential. @@ -1251,6 +1296,8 @@ class LogAnalytics(Model): ~azure.mgmt.containerinstance.models.LogAnalyticsLogType :param metadata: Metadata for log analytics. :type metadata: dict[str, str] + :param workspace_resource_id: The workspace resource id for log analytics + :type workspace_resource_id: dict[str, str] """ _validation = { @@ -1263,14 +1310,16 @@ class LogAnalytics(Model): 'workspace_key': {'key': 'workspaceKey', 'type': 'str'}, 'log_type': {'key': 'logType', 'type': 'str'}, 'metadata': {'key': 'metadata', 'type': '{str}'}, + 'workspace_resource_id': {'key': 'workspaceResourceId', 'type': '{str}'}, } - def __init__(self, *, workspace_id: str, workspace_key: str, log_type=None, metadata=None, **kwargs) -> None: + def __init__(self, *, workspace_id: str, workspace_key: str, log_type=None, metadata=None, workspace_resource_id=None, **kwargs) -> None: super(LogAnalytics, self).__init__(**kwargs) self.workspace_id = workspace_id self.workspace_key = workspace_key self.log_type = log_type self.metadata = metadata + self.workspace_resource_id = workspace_resource_id class Logs(Model): diff --git a/sdk/containerinstance/azure-mgmt-containerinstance/azure/mgmt/containerinstance/operations/_container_groups_operations.py b/sdk/containerinstance/azure-mgmt-containerinstance/azure/mgmt/containerinstance/operations/_container_groups_operations.py index 9191fdfafd01..377dbf69bb55 100644 --- a/sdk/containerinstance/azure-mgmt-containerinstance/azure/mgmt/containerinstance/operations/_container_groups_operations.py +++ b/sdk/containerinstance/azure-mgmt-containerinstance/azure/mgmt/containerinstance/operations/_container_groups_operations.py @@ -27,7 +27,7 @@ class ContainerGroupsOperations(object): :param config: Configuration of service client. :param serializer: An object model serializer. :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-12-01". + :ivar api_version: Client API version. Constant value: "2021-03-01". """ models = models @@ -37,7 +37,7 @@ def __init__(self, client, config, serializer, deserializer): self._client = client self._serialize = serializer self._deserialize = deserializer - self.api_version = "2019-12-01" + self.api_version = "2021-03-01" self.config = config @@ -697,7 +697,7 @@ def _start_initial( request = self._client.post(url, query_parameters, header_parameters) response = self._client.send(request, stream=False, **operation_config) - if response.status_code not in [204]: + if response.status_code not in [202]: exp = CloudError(response) exp.request_id = response.headers.get('x-ms-request-id') raise exp diff --git a/sdk/containerinstance/azure-mgmt-containerinstance/azure/mgmt/containerinstance/operations/_containers_operations.py b/sdk/containerinstance/azure-mgmt-containerinstance/azure/mgmt/containerinstance/operations/_containers_operations.py index c199810ef380..00e1b526eb83 100644 --- a/sdk/containerinstance/azure-mgmt-containerinstance/azure/mgmt/containerinstance/operations/_containers_operations.py +++ b/sdk/containerinstance/azure-mgmt-containerinstance/azure/mgmt/containerinstance/operations/_containers_operations.py @@ -25,7 +25,7 @@ class ContainersOperations(object): :param config: Configuration of service client. :param serializer: An object model serializer. :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-12-01". + :ivar api_version: Client API version. Constant value: "2021-03-01". """ models = models @@ -35,12 +35,12 @@ def __init__(self, client, config, serializer, deserializer): self._client = client self._serialize = serializer self._deserialize = deserializer - self.api_version = "2019-12-01" + self.api_version = "2021-03-01" self.config = config def list_logs( - self, resource_group_name, container_group_name, container_name, tail=None, custom_headers=None, raw=False, **operation_config): + self, resource_group_name, container_group_name, container_name, tail=None, timestamps=None, custom_headers=None, raw=False, **operation_config): """Get the logs for a specified container instance. Get the logs for a specified container instance in a specified resource @@ -56,6 +56,9 @@ def list_logs( container instance log. If not provided, all available logs are shown up to 4mb. :type tail: int + :param timestamps: If true, adds a timestamp at the beginning of every + line of log output. If not provided, defaults to false. + :type timestamps: bool :param dict custom_headers: headers that will be added to the request :param bool raw: returns the direct response alongside the deserialized response @@ -81,6 +84,8 @@ def list_logs( query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') if tail is not None: query_parameters['tail'] = self._serialize.query("tail", tail, 'int') + if timestamps is not None: + query_parameters['timestamps'] = self._serialize.query("timestamps", timestamps, 'bool') # Construct headers header_parameters = {} @@ -189,3 +194,70 @@ def execute_command( return deserialized execute_command.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerInstance/containerGroups/{containerGroupName}/containers/{containerName}/exec'} + + def attach( + self, resource_group_name, container_group_name, container_name, custom_headers=None, raw=False, **operation_config): + """Attach to the output of a specific container instance. + + Attach to the output stream of a specific container instance in a + specified resource group and container group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param container_group_name: The name of the container group. + :type container_group_name: str + :param container_name: The name of the container instance. + :type container_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: ContainerAttachResponse or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.containerinstance.models.ContainerAttachResponse + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.attach.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'containerGroupName': self._serialize.url("container_group_name", container_group_name, 'str'), + 'containerName': self._serialize.url("container_name", container_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('ContainerAttachResponse', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + attach.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.ContainerInstance/containerGroups/{containerGroupName}/containers/{containerName}/attach'} diff --git a/sdk/containerinstance/azure-mgmt-containerinstance/azure/mgmt/containerinstance/operations/_location_operations.py b/sdk/containerinstance/azure-mgmt-containerinstance/azure/mgmt/containerinstance/operations/_location_operations.py index f681e854da91..55ccb79b3840 100644 --- a/sdk/containerinstance/azure-mgmt-containerinstance/azure/mgmt/containerinstance/operations/_location_operations.py +++ b/sdk/containerinstance/azure-mgmt-containerinstance/azure/mgmt/containerinstance/operations/_location_operations.py @@ -25,7 +25,7 @@ class LocationOperations(object): :param config: Configuration of service client. :param serializer: An object model serializer. :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-12-01". + :ivar api_version: Client API version. Constant value: "2021-03-01". """ models = models @@ -35,7 +35,7 @@ def __init__(self, client, config, serializer, deserializer): self._client = client self._serialize = serializer self._deserialize = deserializer - self.api_version = "2019-12-01" + self.api_version = "2021-03-01" self.config = config diff --git a/sdk/containerinstance/azure-mgmt-containerinstance/azure/mgmt/containerinstance/operations/_operations.py b/sdk/containerinstance/azure-mgmt-containerinstance/azure/mgmt/containerinstance/operations/_operations.py index a1a35b8bf86a..3337565419ec 100644 --- a/sdk/containerinstance/azure-mgmt-containerinstance/azure/mgmt/containerinstance/operations/_operations.py +++ b/sdk/containerinstance/azure-mgmt-containerinstance/azure/mgmt/containerinstance/operations/_operations.py @@ -25,7 +25,7 @@ class Operations(object): :param config: Configuration of service client. :param serializer: An object model serializer. :param deserializer: An object model deserializer. - :ivar api_version: Client API version. Constant value: "2019-12-01". + :ivar api_version: Client API version. Constant value: "2021-03-01". """ models = models @@ -35,7 +35,7 @@ def __init__(self, client, config, serializer, deserializer): self._client = client self._serialize = serializer self._deserialize = deserializer - self.api_version = "2019-12-01" + self.api_version = "2021-03-01" self.config = config