Palo Alto Networks Cloud Accounts (GCP) API

To monitor the resources on your GCP cloud infrastructure, you must first add your GCP accounts to Prisma Cloud. When you add your cloud account to Prisma Cloud, the API integration between GCP and Prisma Cloud is established and you can begin monitoring the resources and identify potential security risks. The Cloud Account (GCP) APIs enable you to add and manage GCP accounts on Prisma Cloud. For end to end workflow to onboarding an GCP account using APIs, see [Automate GCP Cloud Account Onboarding](/prisma-cloud/docs/cspm/gcp-account-onboarding/). For common operations related to cloud accounts, see [Cloud Accounts (All)](/prisma-cloud/api/cspm/cloud-accounts-all/).

OpenAPI Specification

palo-alto-networks-cloud-accounts-gcp-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Palo Alto Networks Cloud Accounts (GCP) API
  version: '1.0'
  description: 'Operations tagged Cloud Accounts (GCP) across 2 of this provider''s published API definitions: palo-alto-cspm-cloudaccountonboardingmicroservices-openapi.json, palo-alto-cspm-cloudaccountsmicroservice-openapi.json. Each path carries the servers of the definition it was published in.'
servers:
- url: https://api.prismacloud.io
- url: https://api2.prismacloud.io
- url: https://api3.prismacloud.io
- url: https://api4.prismacloud.io
- url: https://api.anz.prismacloud.io
- url: https://api.eu.prismacloud.io
- url: https://api2.eu.prismacloud.io
- url: https://api.gov.prismacloud.io
- url: https://api.prismacloud.cn
- url: https://api.ca.prismacloud.io
- url: https://api.sg.prismacloud.io
- url: https://api.uk.prismacloud.io
- url: https://api.ind.prismacloud.io
- url: https://api.jp.prismacloud.io
- url: https://api.fr.prismacloud.io
tags:
- name: Cloud Accounts (GCP)
  description: "To monitor the resources on your GCP cloud infrastructure, you must first add your GCP accounts to Prisma Cloud. When you add your cloud account to Prisma Cloud, the API integration between GCP and Prisma Cloud is established and you can begin monitoring the resources and identify potential security risks.\n\nThe Cloud Account (GCP) APIs enable you to add and manage GCP accounts on Prisma Cloud. For end to end workflow to onboarding an GCP account using APIs, see [Automate GCP Cloud Account Onboarding](/prisma-cloud/docs/cspm/gcp-account-onboarding/).\n For common operations related to cloud accounts, see [Cloud Accounts (All)](/prisma-cloud/api/cspm/cloud-accounts-all/).\n"
paths:
  /cas/v1/cloud_account/status/gcp:
    post:
      tags:
      - Cloud Accounts (GCP)
      summary: Get Cloud Account Status (GCP)
      description: Lists the status of a GCP Cloud account. You can use this API to verify the status of the security capabilities which you will be onboarding on Prisma Cloud.
      operationId: get-gcp-cloud-account-status
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GcpCloudAccountRequestModel'
      responses:
        '200':
          description: successful operation
          content:
            application/json; charset=UTF-8:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/CloudAccountStatus'
        '400':
          description: bad_request
      security:
      - x-redlock-auth: []
      x-public: 'true'
    servers:
    - url: https://api.prismacloud.io
    - url: https://api2.prismacloud.io
    - url: https://api3.prismacloud.io
    - url: https://api4.prismacloud.io
    - url: https://api.anz.prismacloud.io
    - url: https://api.eu.prismacloud.io
    - url: https://api2.eu.prismacloud.io
    - url: https://api.gov.prismacloud.io
    - url: https://api.prismacloud.cn
    - url: https://api.ca.prismacloud.io
    - url: https://api.sg.prismacloud.io
    - url: https://api.uk.prismacloud.io
    - url: https://api.ind.prismacloud.io
    - url: https://api.jp.prismacloud.io
    - url: https://api.fr.prismacloud.io
  /cas/v1/gcp_account:
    post:
      tags:
      - Cloud Accounts (GCP)
      summary: Add Cloud Account (GCP)
      description: "Onboard a new gcp cloud account onto the Prisma Cloud platform.\n\n **Prerequisite**: Generate the GCP credentials by calling **[Generate and Download the GCP Terraform template](/prisma-cloud/api/cspm/generate-template-link-gcp-gcp)** API"
      operationId: add-gcp-cloud-account
      parameters:
      - name: skipStatusChecks
        in: query
        description: true = Skip account status checks to improve response time
        required: false
        schema:
          type: boolean
      requestBody:
        $ref: '#/components/requestBodies/GcpCloudAccountRequestModel'
      responses:
        '200':
          description: successful operation
        '400':
          description: duplicate_cloud_account_name / duplicate_cloud_account / invalid_account_id_format / duplicate_cloud_account_needs_upgrade / cannot_select_zero_account_groups / invalid_account_group_ids
        '404':
          description: invalid_account_type
      security:
      - x-redlock-auth: []
      x-public: 'true'
    servers:
    - url: https://api.prismacloud.io
    - url: https://api2.prismacloud.io
    - url: https://api3.prismacloud.io
    - url: https://api4.prismacloud.io
    - url: https://api.anz.prismacloud.io
    - url: https://api.eu.prismacloud.io
    - url: https://api2.eu.prismacloud.io
    - url: https://api.gov.prismacloud.io
    - url: https://api.prismacloud.cn
    - url: https://api.ca.prismacloud.io
    - url: https://api.sg.prismacloud.io
    - url: https://api.uk.prismacloud.io
    - url: https://api.ind.prismacloud.io
    - url: https://api.jp.prismacloud.io
    - url: https://api.fr.prismacloud.io
  /cas/v1/gcp_account/{id}:
    put:
      tags:
      - Cloud Accounts (GCP)
      summary: Update Cloud Account (GCP)
      description: Update the GCP cloud account information that has been onboarded onto the Prisma Cloud platform.
      operationId: update-gcp-cloud-account
      parameters:
      - name: id
        in: path
        description: Account ID
        required: true
        schema:
          type: string
      - name: skipStatusChecks
        in: query
        description: true = Skip account status checks to improve response time
        required: false
        schema:
          type: boolean
      requestBody:
        $ref: '#/components/requestBodies/GcpCloudAccountRequestModel'
      responses:
        '200':
          description: successful operation
        '400':
          description: invalid_account_id_format / duplicate_cloud_account_name / duplicate_cloud_account / cannot_select_zero_account_groups / invalid_account_group_ids
        '404':
          description: invalid_account_type
      security:
      - x-redlock-auth: []
      x-public: 'true'
    servers:
    - url: https://api.prismacloud.io
    - url: https://api2.prismacloud.io
    - url: https://api3.prismacloud.io
    - url: https://api4.prismacloud.io
    - url: https://api.anz.prismacloud.io
    - url: https://api.eu.prismacloud.io
    - url: https://api2.eu.prismacloud.io
    - url: https://api.gov.prismacloud.io
    - url: https://api.prismacloud.cn
    - url: https://api.ca.prismacloud.io
    - url: https://api.sg.prismacloud.io
    - url: https://api.uk.prismacloud.io
    - url: https://api.ind.prismacloud.io
    - url: https://api.jp.prismacloud.io
    - url: https://api.fr.prismacloud.io
  /cloud/gcp/parent/{parent_id}/children:
    post:
      tags:
      - Cloud Accounts (GCP)
      summary: List Children of Parent (GCP)
      description: "List all the children, both folder resources and project resources, of the given parent. A parent can be an organization resource or a folder resource. \n\nThe request body parameter is the content of the Service Account Key (JSON) file, which is required."
      operationId: get-list-of-children-under-parent
      parameters:
      - name: parent_id
        in: path
        description: GCP parent resource ID
        required: true
        schema:
          type: string
      - name: projectNextPageToken
        in: query
        description: Token to request next page of projects
        required: false
        schema:
          type: string
      - name: projectPageSize
        in: query
        description: Page size for paging projects. Valid range is 1-300 inclusive. A page size of 0 returns a nextPageToken but no projects.
        required: false
        schema:
          type: integer
          format: int32
      - name: folderNextPageToken
        in: query
        description: Token to request next page of folders
        required: false
        schema:
          type: string
      - name: folderPageSize
        in: query
        description: Page size for paging folders. Valid range is 1-300 inclusive. A page size of 0 returns a nextPageToken but no folders.
        required: false
        schema:
          type: integer
          format: int32
      - name: parentType
        in: query
        description: Parent type
        required: true
        schema:
          type: string
          enum:
          - folders
          - organizations
      requestBody:
        $ref: '#/components/requestBodies/GcpResourceControllerRequestModel'
      responses:
        '200':
          description: success
          content:
            application/json; charset=UTF-8:
              schema:
                $ref: '#/components/schemas/ListChildrenApiResponseModel'
        '400':
          description: bad_request / unauthorized_access
      security:
      - x-redlock-auth: []
      x-public: 'true'
    servers:
    - url: https://api.prismacloud.io
    - url: https://api2.prismacloud.io
    - url: https://api3.prismacloud.io
    - url: https://api4.prismacloud.io
    - url: https://api.anz.prismacloud.io
    - url: https://api.eu.prismacloud.io
    - url: https://api2.eu.prismacloud.io
    - url: https://api.gov.prismacloud.io
    - url: https://api.prismacloud.cn
    - url: https://api.ca.prismacloud.io
    - url: https://api.sg.prismacloud.io
    - url: https://api.uk.prismacloud.io
    - url: https://api.ind.prismacloud.io
    - url: https://api.jp.prismacloud.io
    - url: https://api.fr.prismacloud.io
  /cloud/{cloud_type}/accounts/{account_id}/ancestors:
    post:
      tags:
      - Cloud Accounts (GCP)
      summary: List Ancestors (GCP)
      description: Lists the ancestors of the given projects and folders for the specified cloud account ID. A successful response returns an array of projects and/or folders each of which is mapped to an array of ancestor resource IDs.
      operationId: get-ancestors-for-given-projects-folders
      parameters:
      - name: cloud_type
        in: path
        description: Cloud Type
        required: true
        schema:
          type: string
          enum:
          - gcp
      - name: account_id
        in: path
        description: Account ID
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GcpAncestorRequestModel'
        description: Cloud service provider resource IDs
        required: true
      responses:
        '200':
          description: success
          content:
            application/json; charset=UTF-8:
              schema:
                type: array
                uniqueItems: true
                items:
                  $ref: '#/components/schemas/GcpNodeModel'
        '400':
          description: bad_request / unauthorized_access
        '404':
          description: invalid_account_id_format
      security:
      - x-redlock-auth: []
      x-public: 'true'
    servers:
    - url: https://api.prismacloud.io
    - url: https://api2.prismacloud.io
    - url: https://api3.prismacloud.io
    - url: https://api4.prismacloud.io
    - url: https://api.anz.prismacloud.io
    - url: https://api.eu.prismacloud.io
    - url: https://api2.eu.prismacloud.io
    - url: https://api.gov.prismacloud.io
    - url: https://api.prismacloud.cn
    - url: https://api.ca.prismacloud.io
    - url: https://api.sg.prismacloud.io
    - url: https://api.uk.prismacloud.io
    - url: https://api.ind.prismacloud.io
    - url: https://api.jp.prismacloud.io
    - url: https://api.fr.prismacloud.io
  /cloud/{cloud_type}/accounts/{account_id}/hierarchy:
    get:
      tags:
      - Cloud Accounts (GCP)
      summary: Get Saved Resource Hierarchy (GCP)
      description: Get the previously saved resource hierarchy for the specified cloud account ID.
      operationId: get-previously-saved-resource-hierarchy
      parameters:
      - name: cloud_type
        in: path
        description: Cloud type
        required: true
        schema:
          type: string
          enum:
          - gcp
      - name: account_id
        in: path
        description: GCP account ID
        required: true
        schema:
          type: string
      responses:
        '200':
          description: success
          content:
            application/json; charset=UTF-8:
              schema:
                $ref: '#/components/schemas/HierarchySelection'
        '400':
          description: bad_request / unauthorized_access
        '404':
          description: invalid_account_id_format
      security:
      - x-redlock-auth: []
      x-public: 'true'
    servers:
    - url: https://api.prismacloud.io
    - url: https://api2.prismacloud.io
    - url: https://api3.prismacloud.io
    - url: https://api4.prismacloud.io
    - url: https://api.anz.prismacloud.io
    - url: https://api.eu.prismacloud.io
    - url: https://api2.eu.prismacloud.io
    - url: https://api.gov.prismacloud.io
    - url: https://api.prismacloud.cn
    - url: https://api.ca.prismacloud.io
    - url: https://api.sg.prismacloud.io
    - url: https://api.uk.prismacloud.io
    - url: https://api.ind.prismacloud.io
    - url: https://api.jp.prismacloud.io
    - url: https://api.fr.prismacloud.io
  /cloud/{cloud_type}/parent/{parent_id}/folders:
    post:
      tags:
      - Cloud Accounts (GCP)
      summary: List Folders of Parent (GCP)
      description: 'List all the child folders of the given parent. A parent can be an organization resource or a folder resource.


        The request body parameter is the content of the Service Account Key (JSON) file, which is required.'
      operationId: get-list-of-folders-under-parent
      parameters:
      - name: cloud_type
        in: path
        description: Cloud type
        required: true
        schema:
          type: string
          enum:
          - gcp
      - name: parent_id
        in: path
        description: GCP parent ID
        required: true
        schema:
          type: string
      - name: nextPageToken
        in: query
        description: Token to request next page of folders
        required: false
        schema:
          type: string
      - name: pageSize
        in: query
        description: Page size. Valid range is 1-300 inclusive. A page size of 0 returns a nextPageToken but no folders.
        required: false
        schema:
          type: integer
          format: int32
      - name: parentType
        in: query
        description: Parent type
        required: true
        schema:
          type: string
          enum:
          - folders
          - organizations
      requestBody:
        $ref: '#/components/requestBodies/GcpResourceControllerRequestModel'
      responses:
        '200':
          description: success
          content:
            application/json; charset=UTF-8:
              schema:
                $ref: '#/components/schemas/GcpNodeModel'
        '400':
          description: bad_request
      security:
      - x-redlock-auth: []
      x-public: 'true'
    servers:
    - url: https://api.prismacloud.io
    - url: https://api2.prismacloud.io
    - url: https://api3.prismacloud.io
    - url: https://api4.prismacloud.io
    - url: https://api.anz.prismacloud.io
    - url: https://api.eu.prismacloud.io
    - url: https://api2.eu.prismacloud.io
    - url: https://api.gov.prismacloud.io
    - url: https://api.prismacloud.cn
    - url: https://api.ca.prismacloud.io
    - url: https://api.sg.prismacloud.io
    - url: https://api.uk.prismacloud.io
    - url: https://api.ind.prismacloud.io
    - url: https://api.jp.prismacloud.io
    - url: https://api.fr.prismacloud.io
  /cloud/{cloud_type}/parent/{parent_id}/projects:
    post:
      tags:
      - Cloud Accounts (GCP)
      summary: List Projects of Parent (GCP)
      description: 'List all the child projects of the given parent. A parent can be an organization resource or a folder resource.


        The request body parameter is the content of the Service Account Key (JSON) file, which is required.'
      operationId: get-list-of-projects-under-parent
      parameters:
      - name: cloud_type
        in: path
        description: Cloud type
        required: true
        schema:
          type: string
          enum:
          - gcp
      - name: parent_id
        in: path
        description: GCP parent ID
        required: true
        schema:
          type: string
      - name: nextPageToken
        in: query
        description: Token to request next page of projects
        required: false
        schema:
          type: string
      - name: pageSize
        in: query
        description: Page size. Valid range is 1-300 inclusive. A page size of 0 returns a nextPageToken but no projects.
        required: false
        schema:
          type: integer
          format: int32
      - name: parentType
        in: query
        description: Parent type
        required: true
        schema:
          type: string
          enum:
          - folders
          - organizations
      requestBody:
        content:
          application/json:
            schema:
              type: object
              additionalProperties:
                type: object
        description: Service Account Key (JSON) file content
        required: true
      responses:
        '200':
          description: success
          content:
            application/json; charset=UTF-8:
              schema:
                $ref: '#/components/schemas/RestApiResponseModel'
        '400':
          description: bad_request / unauthorized_access
      security:
      - x-redlock-auth: []
      x-public: 'true'
    servers:
    - url: https://api.prismacloud.io
    - url: https://api2.prismacloud.io
    - url: https://api3.prismacloud.io
    - url: https://api4.prismacloud.io
    - url: https://api.anz.prismacloud.io
    - url: https://api.eu.prismacloud.io
    - url: https://api2.eu.prismacloud.io
    - url: https://api.gov.prismacloud.io
    - url: https://api.prismacloud.cn
    - url: https://api.ca.prismacloud.io
    - url: https://api.sg.prismacloud.io
    - url: https://api.uk.prismacloud.io
    - url: https://api.ind.prismacloud.io
    - url: https://api.jp.prismacloud.io
    - url: https://api.fr.prismacloud.io
  /cas/v1/gcp_template:
    post:
      tags:
      - Cloud Accounts (GCP)
      summary: Generate and Download the Terraform Template (GCP)
      description: Generate the GCP Terraform template. The generated Terraform template includes the permissions based on selected features.
      operationId: generate-template-link-gcp-gcp
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GCPTemplateGenRequest'
        required: true
      responses:
        '200':
          description: Template Generated Successfully
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '401':
          description: Unauthorized Access
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '403':
          description: Tenant License Expired
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '405':
          description: Wrong Http Method
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '429':
          description: Rate Limit Exceeded
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
      x-public: 'true'
      security:
      - x-redlock-auth: []
    servers:
    - url: https://api.prismacloud.io
    - url: https://api2.prismacloud.io
    - url: https://api3.prismacloud.io
    - url: https://api4.prismacloud.io
    - url: https://api.anz.prismacloud.io
    - url: https://api.eu.prismacloud.io
    - url: https://api2.eu.prismacloud.io
    - url: https://api.gov.prismacloud.io
    - url: https://api.prismacloud.cn
    - url: https://api.ca.prismacloud.io
    - url: https://api.sg.prismacloud.io
    - url: https://api.uk.prismacloud.io
    - url: https://api.ind.prismacloud.io
    - url: https://api.jp.prismacloud.io
    - url: https://api.fr.prismacloud.io
components:
  schemas:
    GcpCloudAccountRequestModel:
      type: object
      required:
      - cloudAccount
      - credentials
      - defaultAccountGroupId
      properties:
        cloudAccount:
          $ref: '#/components/schemas/GcpCloudAccountRequestModelCloudAccount'
        credentials:
          $ref: '#/components/schemas/Credentials'
        compressionEnabled:
          type: boolean
          description: 'Enable or disable compressed network flow log generation.


            Default value: **false**'
        dataflowEnabledProject:
          type: string
          description: 'Project ID where the Dataflow API is enabled .


            Required if `compressionEnabled` is set to **true** and if the `accountType` is **organization**.


            Optional if the `accountType` is **account** or **masterServiceAccount**'
        flowLogStorageBucket:
          type: string
          description: Cloud Storage Bucket name that is used store the flow logs.
        accountGroupCreationMode:
          type: string
          description: 'Default value: **MANUAL**


            **MANUAL**: Account will be mapped to the account group mentioned in `defaultAccountGroupId`.


            **AUTO**: Automatically creates account groups for each top-level folder in the hierarchy.


            **RECURSIVE**: Automatically creates account groups for the folders that are nested within the GCP organization hierarchy.


            Applicable only if the `accountType` is **organization**.'
          enum:
          - MANUAL
          - AUTO
          - RECURSIVE
        defaultAccountGroupId:
          type: string
          description: 'Applicable only


            * If `accountType` is **organization** and `accountGroupCreationMode` is **MANUAL**.


            * If `accountType` is **masterServiceAccount**.'
        hierarchySelection:
          type: array
          description: "Applicable only if `accountType` is **organization**. \n\nInclude/Exclude a list of GCP folders, GCP projects under the organization."
          items:
            $ref: '#/components/schemas/GcpHierarchySelectionModel'
        organizationName:
          type: string
          description: GCP Organization name
        features:
          type: array
          description: Features to be enabled and/ or disabled. To get a list of all the supported features, see **[Fetch Supported Features endpoint](/prisma-cloud/api/cspm/fetch-supported-features)**
          uniqueItems: true
          items:
            $ref: '#/components/schemas/Feature'
      description: Model containing the request for GCP Standalone, Organization, Master Service Account and Workspace Domain
    CloudAccountStatus:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        status:
          type: string
        statusMessage:
          $ref: '#/components/schemas/AccountStatusMessage'
    GcpAncestorRequestModel:
      type: object
      required:
      - resourceIds
      properties:
        resourceIds:
          type: array
          description: Array of resource IDs (project IDs and/or folder IDs)
          uniqueItems: true
          items:
            type: string
        credentials:
          $ref: '#/components/schemas/Credentials'
      description: Model containing the request for GCP Ancestors
    GcpHierarchySelectionModel:
      type: object
      properties:
        resourceId:
          type: string
          example: root
          description: 'To get the list of resource IDs and its details, Refer [List Children of Parent (GCP)](/prisma-cloud/api/cspm/get-list-of-children-under-parent/) '
        displayName:
          type: string
          example: Root
          description: To get the display name of resource, Refer [List Children of Parent (GCP)](/prisma-cloud/api/cspm/get-list-of-children-under-parent/). Display name is the organization name if `nodeType` is **ORG**
        nodeType:
          type: string
          description: Member account node type. Supported values are ORG, FOLDER, or PROJECT
        selectionType:
          type: string
          description: "Organization Member accounts Selection type. \n\n**ALL**: Include the resource and all its children \n\n**INCLUDE**: Include the specified resource\n\n**EXCLUDE**: Exclude the specified resource"
          enum:
          - ALL
          - INCLUDE
          - EXCLUDE
      description: Model for HierarchySelection for GCP
    GcpCloudAccountRequestModelCloudAccount:
      type: object
      required:
      - accountId
      - accountType
      - name
      properties:
        accountId:
          type: string
          description: "Organization resource ID if `accountType` is **organization**.\n\n Project ID if `accountType` is **account** or **masterServiceAccount**.\n\nWorkspace domain name if `accountType` is **workspace_domain**."
        accountType:
          type: string
          description: "Cloud Account Type.\n\n**account**: GCP Project \n\n**organization**: GCP Organization\n\n**masterServiceAccount**: Onboards all GCP projects that are accessible by the service account\n\n**workspace_domain**: GCP Workspace."
          enum:
          - account
          - masterServiceAccount
          - organization
          - workspace_domain
        enabled:
          type: boolean
          description: "Enable or disable this account on Prisma Cloud.\n\n Default value: **false**"
        name:
          type: string
          description: Account name for the GCP account that will be onboarded on Prisma Cloud. (must be unique)
        projectId:
          type: string
          description: 'ID of the project.


            Get the project ID from the credentials json file that is generated from the GCP Terraform template. '
        groupIds:
          type: array
          description: List of Account Groups that must be mapped to this account. To get the account group ids,call **[List Account Groups](/prisma-cloud/api/cspm/get-account-groups/)** API
          items:
            type: string
    GcpResourceControllerRequestModelCloudAccount:
      type: object
      properties:
        accountId:
          type: string
          description: GCP organization resource ID
        accountType:
          type: string
          description: Cloud Account Type
          readOnly: true
          enum:
          - ORGANIZATION
    Feature:
      type: object
      properties:
        name:
          type: string
          example: Remediation
          description: Feature name obtained from **[Fetch Supported Features endpoint](/prisma-cloud/api/cspm/fetch-supported-features)**
        state:
          type: string
          description: Feature state. Whether to be enabled or disabled
          enum:
          - enabled
          - disabled
        defaultMemberState:
          type: string
          description: Enable or disable the feature for all the member accounts linked to this organization. You can enable or disable the defaultMemberState only if the feature state is enabled for the organization. Applicable only for Serverless Function Scanning and Agentless Workload Scanning features.
          enum:
          - enabled
          - disabled
      description: Model for Feature
    RestApiResponseModel:
      type: object
      properties:
        response:
          type: array
          description: Response
          items:
            $ref: '#/components/schemas/GcpNodeModel'
        nextPageToken:
          type: string
          description: Next page token
      description: Model for RestApiResponse
    GcpResourceControllerRequestModel:
      type: object
      properties:
        cloudAccount:
          $ref: '#/components/schemas/GcpResourceControllerRequestModelCloudAccount'
        credentials:
          $ref: '#/components/schemas/Credentials'
      description: Model containing the request for GCP Resources
    HierarchySelection:
      type: object
      properties:
        resourceId:
          type: string
          example: root
          description: "To get the list of resource IDs and its details, Refer List Children of Parent. \n\n **aws**: [List Children of Parent (AWS)](/prisma-cloud/api/cspm/get-list-of-children-under-parent-aws/) \n\n **gcp**: [List Children of Parent (GCP)](/prisma-cloud/api/cspm/get-list-of-children-under-parent/) \n\n**azure**: [List Children of Parent (Azure)](/prisma-cloud/api/cspm/list-children-under-parent/)"
        displayName:
          type: string
          example: Root
          description: "To get the display name of resource, Refer List Children of Parent. \n\n **aws**: [List Children of Parent (AWS)](/prisma-cloud/api/cspm/get-list-of-children-under-parent-aws/) \n\n **gcp**: [List Children of Parent (GCP)](/prisma-cloud/api/cspm/get-list-of-children-under-parent/). Display name is the organization name if `nodeType` is **ORG**\n\n**azure**: [List Children of Parent (Azure)](/prisma-cloud/api/cspm/list-children-under-parent/)"
        nodeType:
          type: string
          description: "Member account node type. Supported values based on cloud type: \n\n**aws**:  ORG, OU, or ACCOUNT\n\n **gcp**: ORG, FOLDER, or PROJECT\n\n**azure**: SUBSCRIPTION, MANAGEMENT_GROUP, or TENANT"
          enum:
          - ORG
          - FOLDER
          - PROJECT
          - SUBSCRIPTION
          - MANAGEMENT_GROUP
          - TENANT
          - ACCOUNT
          - OU
        selectionType:
          type: string
          description: "Organization Member accounts Selection type. \n\n**ALL**: Include the resource and all its children \n\n**INCLUDE**: Include the specified resource\n\n**EXCLUDE**: Exclude the specified resource"
          enum:
          - ALL
          - INCLUDE
          - EXCLUDE
      description: Model for HierarchySelection
    ListChildrenApiResponseModel:
      type: object
      properties:
        response:
          type: array
          description: List of node info
          items:
            $ref: '#/components/schemas/GcpNodeModel'
        projectNextPageToken:
          type: string
          description: Next page token for project
        folderNextPageToken:
          type: string
          description: Next page token for folder
        organizationName:
          type: string
          description: Organization name
      description: Model for ListChildrenApiResponse
    AccountStatusMessage:
      type: object
      properties:
        message:
          type: string
        staticMessage:
          type: boolean
    Credentials:
      type: object
      properties:
        token_uri:
          type: string
        private_key_id:
          type: string
        client_x509_cert_url:
          type: string
        project_id:
          type: string
        auth_uri:
          type: string
        auth_provider_x509_cert_url:
          type: string
        client_email:
          type: string
        private_key:
          type: string
        type:
          type: string
        client_id:
          type: string
      description: The content of the credentials object is the Service Account Key for your Google Cloud service account
    GcpNodeModel:
      type: object
      properties:
        id:
          type: string
          description: Node ID
        type:
          type: string
          description: Node type
          enum:
          - ORG
          - FOLDER
          - PROJECT
          - SUBSCRIPTION
          - MANAGEMENT_GROUP
          - TENANT
          - ACCOUNT
          - OU
        displayName:
          type: string
          description: Display name
        parent:
          type: string
          description: Parent
        hasChild:
          type: boolean
          description: true = Has child
          readOnly: true
      description: Model for GcpNode
    GCPTemplateGenRequest:
      required:
      - accountType
      - authenticationType
      - orgId
      - projectId
      type: object
    

# --- truncated at 32 KB (37 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/palo-alto-networks/refs/heads/main/openapi/palo-alto-networks-cloud-accounts-gcp-api-openapi.yml