Source code for idem_vra.exec.vra.blueprint.blueprintterraformintegrations
from idem_vra.client.vra_blueprint_lib.api import BlueprintTerraformIntegrationsApi
from idem_vra.helpers.mapper import remap_response
from idem_vra.helpers.models import ExecReturn
[docs]async def create_blueprint_from_mapping_using_post(hub, ctx, **kwargs):
    """Creates a blueprint from a Terraform blueprint configuration (obtained from
      /create-blueprint-mapping).  Performs POST /blueprint/api/blueprint-integrations/terraform/create-blueprint-from-mapping
    :param string apiVersion: (optional in query) The version of the API in yyyy-MM-dd format (UTC). For versioning
      information please refer to /blueprint/api/about
    :param string createdAt: (optional in body) Created time
    :param string createdBy: (optional in body) Created by
    :param string description: (optional in body) Blueprint description.
    :param string id: (optional in body) Object ID
    :param string name: (optional in body) Blueprint name.
    :param string orgId: (optional in body) Org ID
    :param string projectId: (optional in body) Project ID
    :param string projectName: (optional in body) Project Name
    :param Any terraformToBlueprintMapping: (optional in body)
    :param string updatedAt: (optional in body) Updated time
    :param string updatedBy: (optional in body) Updated by
    :param string version: (optional in body) Terraform runtime version.
    """
    hub.log.debug(
        "POST /blueprint/api/blueprint-integrations/terraform/create-blueprint-from-mapping"
    )
    api = BlueprintTerraformIntegrationsApi(
        hub.clients["idem_vra.client.vra_blueprint_lib.api"]
    )
    if "api_version" not in kwargs:
        kwargs["api_version"] = "2019-09-12"
    body = {}
    if "createdAt" in kwargs:
        hub.log.debug(f"Got kwarg 'createdAt' = {kwargs['createdAt']}")
        body["createdAt"] = kwargs.get("createdAt")
        del kwargs["createdAt"]
    if "createdBy" in kwargs:
        hub.log.debug(f"Got kwarg 'createdBy' = {kwargs['createdBy']}")
        body["createdBy"] = kwargs.get("createdBy")
        del kwargs["createdBy"]
    if "description" in kwargs:
        hub.log.debug(f"Got kwarg 'description' = {kwargs['description']}")
        body["description"] = kwargs.get("description")
        del kwargs["description"]
    if "id" in kwargs:
        hub.log.debug(f"Got kwarg 'id' = {kwargs['id']}")
        body["id"] = kwargs.get("id")
        del kwargs["id"]
    if "name" in kwargs:
        hub.log.debug(f"Got kwarg 'name' = {kwargs['name']}")
        body["name"] = kwargs.get("name")
        del kwargs["name"]
    if "orgId" in kwargs:
        hub.log.debug(f"Got kwarg 'orgId' = {kwargs['orgId']}")
        body["orgId"] = kwargs.get("orgId")
        del kwargs["orgId"]
    if "projectId" in kwargs:
        hub.log.debug(f"Got kwarg 'projectId' = {kwargs['projectId']}")
        body["projectId"] = kwargs.get("projectId")
        del kwargs["projectId"]
    if "projectName" in kwargs:
        hub.log.debug(f"Got kwarg 'projectName' = {kwargs['projectName']}")
        body["projectName"] = kwargs.get("projectName")
        del kwargs["projectName"]
    if "terraformToBlueprintMapping" in kwargs:
        hub.log.debug(
            f"Got kwarg 'terraformToBlueprintMapping' = {kwargs['terraformToBlueprintMapping']}"
        )
        body["terraformToBlueprintMapping"] = kwargs.get("terraformToBlueprintMapping")
        del kwargs["terraformToBlueprintMapping"]
    if "updatedAt" in kwargs:
        hub.log.debug(f"Got kwarg 'updatedAt' = {kwargs['updatedAt']}")
        body["updatedAt"] = kwargs.get("updatedAt")
        del kwargs["updatedAt"]
    if "updatedBy" in kwargs:
        hub.log.debug(f"Got kwarg 'updatedBy' = {kwargs['updatedBy']}")
        body["updatedBy"] = kwargs.get("updatedBy")
        del kwargs["updatedBy"]
    if "version" in kwargs:
        hub.log.debug(f"Got kwarg 'version' = {kwargs['version']}")
        body["version"] = kwargs.get("version")
        del kwargs["version"]
    ret = api.create_blueprint_from_mapping_using_post(body, **kwargs)
    # hub.log.debug(ret)
    return ExecReturn(result=True, ret=remap_response(ret))
[docs]async def create_blueprint_mapping_using_post(hub, ctx, **kwargs):
    """Retrieves and parses the specified Terraform configuration file(s) and returns
      relevant information for blueprint construction.  Performs POST /blueprint/api/blueprint-integrations/terraform/create-blueprint-mapping
    :param string apiVersion: (optional in query) The version of the API in yyyy-MM-dd format (UTC). For versioning
      information please refer to /blueprint/api/about
    :param string commitId: (optional in body) ID that identifies the commit that corresponds to the desired version
      of the remote file(s).
    :param string repositoryId: (optional in body) The ID of the relevant configuration source repository.
    :param string sourceDirectory: (optional in body) A path to the desired Terraform directory.
    """
    hub.log.debug(
        "POST /blueprint/api/blueprint-integrations/terraform/create-blueprint-mapping"
    )
    api = BlueprintTerraformIntegrationsApi(
        hub.clients["idem_vra.client.vra_blueprint_lib.api"]
    )
    if "api_version" not in kwargs:
        kwargs["api_version"] = "2019-09-12"
    body = {}
    if "commitId" in kwargs:
        hub.log.debug(f"Got kwarg 'commitId' = {kwargs['commitId']}")
        body["commitId"] = kwargs.get("commitId")
        del kwargs["commitId"]
    if "repositoryId" in kwargs:
        hub.log.debug(f"Got kwarg 'repositoryId' = {kwargs['repositoryId']}")
        body["repositoryId"] = kwargs.get("repositoryId")
        del kwargs["repositoryId"]
    if "sourceDirectory" in kwargs:
        hub.log.debug(f"Got kwarg 'sourceDirectory' = {kwargs['sourceDirectory']}")
        body["sourceDirectory"] = kwargs.get("sourceDirectory")
        del kwargs["sourceDirectory"]
    ret = api.create_blueprint_mapping_using_post(body, **kwargs)
    # hub.log.debug(ret)
    return ExecReturn(result=True, ret=remap_response(ret))
[docs]async def create_terraform_version_using_post(hub, ctx, **kwargs):
    """Creates a version  Performs POST /blueprint/api/blueprint-integrations/terraform/versions
    :param string apiVersion: (optional in query) The version of the API in yyyy-MM-dd format (UTC). For versioning
      information please refer to /blueprint/api/about
    :param string authenticationType: (optional in body) The type of authentication for the download url
    :param string createdAt: (optional in body) Created time
    :param string createdBy: (optional in body) Created by
    :param string description: (optional in body) Version description
    :param boolean enabled: (optional in body) Version status
    :param string id: (optional in body) Version ID
    :param string orgId: (optional in body) Org ID
    :param string password: (optional in body) The password for basic authentication
    :param string sha256Checksum: (optional in body) The sha256 checksum of the terraform binary
    :param string updatedAt: (optional in body) Updated time
    :param string updatedBy: (optional in body) Updated by
    :param string url: (optional in body) Download url
    :param string username: (optional in body) The user name for basic authentication
    :param string version: (optional in body) The numeric version of terraform release
    """
    hub.log.debug("POST /blueprint/api/blueprint-integrations/terraform/versions")
    api = BlueprintTerraformIntegrationsApi(
        hub.clients["idem_vra.client.vra_blueprint_lib.api"]
    )
    if "api_version" not in kwargs:
        kwargs["api_version"] = "2019-09-12"
    body = {}
    if "authenticationType" in kwargs:
        hub.log.debug(
            f"Got kwarg 'authenticationType' = {kwargs['authenticationType']}"
        )
        body["authenticationType"] = kwargs.get("authenticationType")
        del kwargs["authenticationType"]
    if "createdAt" in kwargs:
        hub.log.debug(f"Got kwarg 'createdAt' = {kwargs['createdAt']}")
        body["createdAt"] = kwargs.get("createdAt")
        del kwargs["createdAt"]
    if "createdBy" in kwargs:
        hub.log.debug(f"Got kwarg 'createdBy' = {kwargs['createdBy']}")
        body["createdBy"] = kwargs.get("createdBy")
        del kwargs["createdBy"]
    if "description" in kwargs:
        hub.log.debug(f"Got kwarg 'description' = {kwargs['description']}")
        body["description"] = kwargs.get("description")
        del kwargs["description"]
    if "enabled" in kwargs:
        hub.log.debug(f"Got kwarg 'enabled' = {kwargs['enabled']}")
        body["enabled"] = kwargs.get("enabled")
        del kwargs["enabled"]
    if "id" in kwargs:
        hub.log.debug(f"Got kwarg 'id' = {kwargs['id']}")
        body["id"] = kwargs.get("id")
        del kwargs["id"]
    if "orgId" in kwargs:
        hub.log.debug(f"Got kwarg 'orgId' = {kwargs['orgId']}")
        body["orgId"] = kwargs.get("orgId")
        del kwargs["orgId"]
    if "password" in kwargs:
        hub.log.debug(f"Got kwarg 'password' = {kwargs['password']}")
        body["password"] = kwargs.get("password")
        del kwargs["password"]
    if "sha256Checksum" in kwargs:
        hub.log.debug(f"Got kwarg 'sha256Checksum' = {kwargs['sha256Checksum']}")
        body["sha256Checksum"] = kwargs.get("sha256Checksum")
        del kwargs["sha256Checksum"]
    if "updatedAt" in kwargs:
        hub.log.debug(f"Got kwarg 'updatedAt' = {kwargs['updatedAt']}")
        body["updatedAt"] = kwargs.get("updatedAt")
        del kwargs["updatedAt"]
    if "updatedBy" in kwargs:
        hub.log.debug(f"Got kwarg 'updatedBy' = {kwargs['updatedBy']}")
        body["updatedBy"] = kwargs.get("updatedBy")
        del kwargs["updatedBy"]
    if "url" in kwargs:
        hub.log.debug(f"Got kwarg 'url' = {kwargs['url']}")
        body["url"] = kwargs.get("url")
        del kwargs["url"]
    if "username" in kwargs:
        hub.log.debug(f"Got kwarg 'username' = {kwargs['username']}")
        body["username"] = kwargs.get("username")
        del kwargs["username"]
    if "version" in kwargs:
        hub.log.debug(f"Got kwarg 'version' = {kwargs['version']}")
        body["version"] = kwargs.get("version")
        del kwargs["version"]
    ret = api.create_terraform_version_using_post(body, **kwargs)
    # hub.log.debug(ret)
    return ExecReturn(result=True, ret=remap_response(ret))
[docs]async def delete_terraform_version_using_delete(hub, ctx, p_versionId, **kwargs):
    """Deletes a terraform version  Performs DELETE /blueprint/api/blueprint-integrations/terraform/versions/{versionId}
    :param string p_versionId: (required in path) versionId
    :param string apiVersion: (optional in query) The version of the API in yyyy-MM-dd format (UTC). For versioning
      information please refer to /blueprint/api/about
    """
    hub.log.debug(
        "DELETE /blueprint/api/blueprint-integrations/terraform/versions/{versionId}"
    )
    api = BlueprintTerraformIntegrationsApi(
        hub.clients["idem_vra.client.vra_blueprint_lib.api"]
    )
    if "api_version" not in kwargs:
        kwargs["api_version"] = "2019-09-12"
    ret = api.delete_terraform_version_using_delete(version_id=p_versionId, **kwargs)
    # hub.log.debug(ret)
    return ExecReturn(result=True, ret=remap_response(ret))
[docs]async def get_configuration_source_tree_using_get(
    hub, ctx, q_configurationSourceId, **kwargs
):
    """Shows directories of the configuration source repository that correspond to
      Terraform configurations.  Performs GET /blueprint/api/blueprint-integrations/terraform/get-configuration-source-tree
    :param string q_configurationSourceId: (required in query) The ID of the configuration source to inspect.
    :param string apiVersion: (optional in query) The version of the API in yyyy-MM-dd format (UTC). For versioning
      information please refer to /blueprint/api/about
    :param string commitId: (optional in query) The commit ID corresponding to the version of the configuration
      source.
    :param string path: (optional in query) A file path prefix. The prefix is interpreted in the context of the
      configuration source's path prefix. Results will only include
      directories under this path.
    """
    hub.log.debug(
        "GET /blueprint/api/blueprint-integrations/terraform/get-configuration-source-tree"
    )
    api = BlueprintTerraformIntegrationsApi(
        hub.clients["idem_vra.client.vra_blueprint_lib.api"]
    )
    if "api_version" not in kwargs:
        kwargs["api_version"] = "2019-09-12"
    ret = api.get_configuration_source_tree_using_get(
        configuration_source_id=q_configurationSourceId, **kwargs
    )
    # hub.log.debug(ret)
    return ExecReturn(result=True, ret=remap_response(ret))
[docs]async def get_terraform_configuration_source_commit_list_using_get(
    hub, ctx, q_configurationSourceId, **kwargs
):
    """Returns a paginated list of commits for a specified configuration source.  Performs GET /blueprint/api/blueprint-integrations/terraform/get-configuration-source-commits
    :param string q_configurationSourceId: (required in query) A Configuration Source ID.
    :param string apiVersion: (optional in query) The version of the API in yyyy-MM-dd format (UTC). For versioning
      information please refer to /blueprint/api/about
    """
    hub.log.debug(
        "GET /blueprint/api/blueprint-integrations/terraform/get-configuration-source-commits"
    )
    api = BlueprintTerraformIntegrationsApi(
        hub.clients["idem_vra.client.vra_blueprint_lib.api"]
    )
    if "api_version" not in kwargs:
        kwargs["api_version"] = "2019-09-12"
    ret = api.get_terraform_configuration_source_commit_list_using_get(
        configuration_source_id=q_configurationSourceId, **kwargs
    )
    # hub.log.debug(ret)
    return ExecReturn(result=True, ret=remap_response(ret))
[docs]async def get_terraform_configuration_sources_using_get(hub, ctx, q_projects, **kwargs):
    """Returns a paginated list of configuration sources configured as storage for
      Terraform configurations.  Performs GET /blueprint/api/blueprint-integrations/terraform/get-configuration-sources
    :param array q_projects: (required in query) A comma-separated list of project IDs. Results will be filtered so
      only configuration sources accessible from one or more of these
      projects will be returned.
    :param string apiVersion: (optional in query) The version of the API in yyyy-MM-dd format (UTC). For versioning
      information please refer to /blueprint/api/about
    :param string search: (optional in query) A search parameter to search based on configuration source name or
      repository.
    """
    hub.log.debug(
        "GET /blueprint/api/blueprint-integrations/terraform/get-configuration-sources"
    )
    api = BlueprintTerraformIntegrationsApi(
        hub.clients["idem_vra.client.vra_blueprint_lib.api"]
    )
    if "api_version" not in kwargs:
        kwargs["api_version"] = "2019-09-12"
    ret = api.get_terraform_configuration_sources_using_get(
        projects=q_projects, **kwargs
    )
    # hub.log.debug(ret)
    return ExecReturn(result=True, ret=remap_response(ret))
[docs]async def get_terraform_version_using_get(hub, ctx, p_versionId, **kwargs):
    """Returns Terraform Version details  Performs GET /blueprint/api/blueprint-integrations/terraform/versions/{versionId}
    :param string p_versionId: (required in path) versionId
    :param string apiVersion: (optional in query) The version of the API in yyyy-MM-dd format (UTC). For versioning
      information please refer to /blueprint/api/about
    """
    hub.log.debug(
        "GET /blueprint/api/blueprint-integrations/terraform/versions/{versionId}"
    )
    api = BlueprintTerraformIntegrationsApi(
        hub.clients["idem_vra.client.vra_blueprint_lib.api"]
    )
    if "api_version" not in kwargs:
        kwargs["api_version"] = "2019-09-12"
    ret = api.get_terraform_version_using_get(version_id=p_versionId, **kwargs)
    # hub.log.debug(ret)
    return ExecReturn(result=True, ret=remap_response(ret))
[docs]async def list_terraform_versions_using_get(hub, ctx, **kwargs):
    """Lists terraform versions  Performs GET /blueprint/api/blueprint-integrations/terraform/versions
    :param array orderby: (optional in query) Sorting criteria in the format: property (asc|desc). Default sort
      order is descending on updatedAt. Sorting is supported on fields
      createdAt, updatedAt, createdBy, updatedBy, version.
    :param integer skip: (optional in query) Number of records you want to skip
    :param integer top: (optional in query) Number of records you want
    :param boolean onlyEnabled: (optional in query) Include only enabled versions
    """
    hub.log.debug("GET /blueprint/api/blueprint-integrations/terraform/versions")
    api = BlueprintTerraformIntegrationsApi(
        hub.clients["idem_vra.client.vra_blueprint_lib.api"]
    )
    ret = api.list_terraform_versions_using_get(**kwargs)
    # hub.log.debug(ret)
    return ExecReturn(result=True, ret=remap_response(ret))
[docs]async def update_terraform_version_using_patch(hub, ctx, p_versionId, **kwargs):
    """Updates a terraform version  Performs PATCH /blueprint/api/blueprint-integrations/terraform/versions/{versionId}
    :param string p_versionId: (required in path) versionId
    :param string apiVersion: (optional in query) The version of the API in yyyy-MM-dd format (UTC). For versioning
      information please refer to /blueprint/api/about
    :param string authenticationType: (optional in body) The type of authentication for the download url
    :param string createdAt: (optional in body) Created time
    :param string createdBy: (optional in body) Created by
    :param string description: (optional in body) Version description
    :param boolean enabled: (optional in body) Version status
    :param string id: (optional in body) Version ID
    :param string orgId: (optional in body) Org ID
    :param string password: (optional in body) The password for basic authentication
    :param string sha256Checksum: (optional in body) The sha256 checksum of the terraform binary
    :param string updatedAt: (optional in body) Updated time
    :param string updatedBy: (optional in body) Updated by
    :param string url: (optional in body) Download url
    :param string username: (optional in body) The user name for basic authentication
    :param string version: (optional in body) The numeric version of terraform release
    """
    hub.log.debug(
        "PATCH /blueprint/api/blueprint-integrations/terraform/versions/{versionId}"
    )
    api = BlueprintTerraformIntegrationsApi(
        hub.clients["idem_vra.client.vra_blueprint_lib.api"]
    )
    if "api_version" not in kwargs:
        kwargs["api_version"] = "2019-09-12"
    body = {}
    if "authenticationType" in kwargs:
        hub.log.debug(
            f"Got kwarg 'authenticationType' = {kwargs['authenticationType']}"
        )
        body["authenticationType"] = kwargs.get("authenticationType")
        del kwargs["authenticationType"]
    if "createdAt" in kwargs:
        hub.log.debug(f"Got kwarg 'createdAt' = {kwargs['createdAt']}")
        body["createdAt"] = kwargs.get("createdAt")
        del kwargs["createdAt"]
    if "createdBy" in kwargs:
        hub.log.debug(f"Got kwarg 'createdBy' = {kwargs['createdBy']}")
        body["createdBy"] = kwargs.get("createdBy")
        del kwargs["createdBy"]
    if "description" in kwargs:
        hub.log.debug(f"Got kwarg 'description' = {kwargs['description']}")
        body["description"] = kwargs.get("description")
        del kwargs["description"]
    if "enabled" in kwargs:
        hub.log.debug(f"Got kwarg 'enabled' = {kwargs['enabled']}")
        body["enabled"] = kwargs.get("enabled")
        del kwargs["enabled"]
    if "id" in kwargs:
        hub.log.debug(f"Got kwarg 'id' = {kwargs['id']}")
        body["id"] = kwargs.get("id")
        del kwargs["id"]
    if "orgId" in kwargs:
        hub.log.debug(f"Got kwarg 'orgId' = {kwargs['orgId']}")
        body["orgId"] = kwargs.get("orgId")
        del kwargs["orgId"]
    if "password" in kwargs:
        hub.log.debug(f"Got kwarg 'password' = {kwargs['password']}")
        body["password"] = kwargs.get("password")
        del kwargs["password"]
    if "sha256Checksum" in kwargs:
        hub.log.debug(f"Got kwarg 'sha256Checksum' = {kwargs['sha256Checksum']}")
        body["sha256Checksum"] = kwargs.get("sha256Checksum")
        del kwargs["sha256Checksum"]
    if "updatedAt" in kwargs:
        hub.log.debug(f"Got kwarg 'updatedAt' = {kwargs['updatedAt']}")
        body["updatedAt"] = kwargs.get("updatedAt")
        del kwargs["updatedAt"]
    if "updatedBy" in kwargs:
        hub.log.debug(f"Got kwarg 'updatedBy' = {kwargs['updatedBy']}")
        body["updatedBy"] = kwargs.get("updatedBy")
        del kwargs["updatedBy"]
    if "url" in kwargs:
        hub.log.debug(f"Got kwarg 'url' = {kwargs['url']}")
        body["url"] = kwargs.get("url")
        del kwargs["url"]
    if "username" in kwargs:
        hub.log.debug(f"Got kwarg 'username' = {kwargs['username']}")
        body["username"] = kwargs.get("username")
        del kwargs["username"]
    if "version" in kwargs:
        hub.log.debug(f"Got kwarg 'version' = {kwargs['version']}")
        body["version"] = kwargs.get("version")
        del kwargs["version"]
    ret = api.update_terraform_version_using_patch(
        body, version_id=p_versionId, **kwargs
    )
    # hub.log.debug(ret)
    return ExecReturn(result=True, ret=remap_response(ret))