@distributed_trace_async
async def validate(self, resource_group_name: str, deployment_name: str, parameters: '_models.Deployment', **kwargs: Any) -> '_models.DeploymentValidateResult':
    'Validates whether the specified template is syntactically correct and will be accepted by Azure\n        Resource Manager..\n\n        :param resource_group_name: The name of the resource group the template will be deployed to.\n         The name is case insensitive.\n        :type resource_group_name: str\n        :param deployment_name: The name of the deployment.\n        :type deployment_name: str\n        :param parameters: Parameters to validate.\n        :type parameters: ~azure.mgmt.resource.resources.v2019_08_01.models.Deployment\n        :keyword callable cls: A custom type or function that will be passed the direct response\n        :return: DeploymentValidateResult, or the result of cls(response)\n        :rtype: ~azure.mgmt.resource.resources.v2019_08_01.models.DeploymentValidateResult\n        :raises: ~azure.core.exceptions.HttpResponseError\n        '
    cls = kwargs.pop('cls', None)
    error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError}
    error_map.update(kwargs.pop('error_map', {}))
    api_version = kwargs.pop('api_version', '2019-08-01')
    content_type = kwargs.pop('content_type', 'application/json')
    _json = self._serialize.body(parameters, 'Deployment')
    request = build_deployments_validate_request(resource_group_name=resource_group_name, deployment_name=deployment_name, subscription_id=self._config.subscription_id, api_version=api_version, content_type=content_type, json=_json, template_url=self.validate.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, 400]):
        map_error(status_code=response.status_code, response=response, error_map=error_map)
        raise HttpResponseError(response=response, error_format=ARMErrorFormat)
    if (response.status_code == 200):
        deserialized = self._deserialize('DeploymentValidateResult', pipeline_response)
    if (response.status_code == 400):
        deserialized = self._deserialize('DeploymentValidateResult', pipeline_response)
    if cls:
        return cls(pipeline_response, deserialized, {})
    return deserialized
Validates whether the specified template is syntactically correct and will be accepted by Azure
Resource Manager..

:param resource_group_name: The name of the resource group the template will be deployed to.
 The name is case insensitive.
:type resource_group_name: str
:param deployment_name: The name of the deployment.
:type deployment_name: str
:param parameters: Parameters to validate.
:type parameters: ~azure.mgmt.resource.resources.v2019_08_01.models.Deployment
:keyword callable cls: A custom type or function that will be passed the direct response
:return: DeploymentValidateResult, or the result of cls(response)
:rtype: ~azure.mgmt.resource.resources.v2019_08_01.models.DeploymentValidateResult
:raises: ~azure.core.exceptions.HttpResponseError
@distributed_trace_async
async def validate(self, resource_group_name: str, deployment_name: str, parameters: '_models.Deployment', **kwargs: Any) -> '_models.DeploymentValidateResult':
    'Validates whether the specified template is syntactically correct and will be accepted by Azure\n        Resource Manager..\n\n        :param resource_group_name: The name of the resource group the template will be deployed to.\n         The name is case insensitive.\n        :type resource_group_name: str\n        :param deployment_name: The name of the deployment.\n        :type deployment_name: str\n        :param parameters: Parameters to validate.\n        :type parameters: ~azure.mgmt.resource.resources.v2019_08_01.models.Deployment\n        :keyword callable cls: A custom type or function that will be passed the direct response\n        :return: DeploymentValidateResult, or the result of cls(response)\n        :rtype: ~azure.mgmt.resource.resources.v2019_08_01.models.DeploymentValidateResult\n        :raises: ~azure.core.exceptions.HttpResponseError\n        '
    cls = kwargs.pop('cls', None)
    error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError}
    error_map.update(kwargs.pop('error_map', {}))
    api_version = kwargs.pop('api_version', '2019-08-01')
    content_type = kwargs.pop('content_type', 'application/json')
    _json = self._serialize.body(parameters, 'Deployment')
    request = build_deployments_validate_request(resource_group_name=resource_group_name, deployment_name=deployment_name, subscription_id=self._config.subscription_id, api_version=api_version, content_type=content_type, json=_json, template_url=self.validate.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, 400]):
        map_error(status_code=response.status_code, response=response, error_map=error_map)
        raise HttpResponseError(response=response, error_format=ARMErrorFormat)
    if (response.status_code == 200):
        deserialized = self._deserialize('DeploymentValidateResult', pipeline_response)
    if (response.status_code == 400):
        deserialized = self._deserialize('DeploymentValidateResult', pipeline_response)
    if cls:
        return cls(pipeline_response, deserialized, {})
    return deserialized