# Security Posture API . organizations . locations . reports

## Instance Methods

Close httplib2 connections.

Validates a specified infrastructure-as-code (IaC) configuration, and creates a Report with the validation results. Only Terraform configurations are supported. Only modified assets are validated.

Gets details for a Report.

Lists every Report in a given organization and location.

Retrieves the next page of results.

### Method Details

`close()`

    Close httplib2 connections.

`createIaCValidationReport(parent, body=None, x__xgafv=None)`

    Validates a specified infrastructure-as-code (IaC) configuration, and creates a Report with the validation results. Only Terraform configurations are supported. Only modified assets are validated.

    Args:
      parent: string, Required. The parent resource name, in the format `organizations/{organization}/locations/global`. (required)
      body: object, The request body.
        The object takes the form of:

    { # Request message for CreateIaCValidationReport.
      "iac": { # Details of an infrastructure-as-code (IaC) configuration. # Required. The infrastructure-as-code (IaC) configuration to validate.
        "tfPlan": "A String", # Optional. A Terraform plan file, formatted as a stringified JSON object. To learn how to generate a Terraform plan file in JSON format, see [JSON output format](https://developer.hashicorp.com/terraform/internals/json-format) in the Terraform documentation.
      },
    }

      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # This resource represents a long-running operation that is the result of a network API call.
      "done": True or False, # If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.
      "error": { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # The error result of the operation in case of failure or cancellation.
        "code": 42, # The status code, which should be an enum value of google.rpc.Code.
        "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
          {
            "a_key": "", # Properties of the object. Contains field @type with type URL.
          },
        ],
        "message": "A String", # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
      },
      "metadata": { # Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.
        "a_key": "", # Properties of the object. Contains field @type with type URL.
      },
      "name": "A String", # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.
      "response": { # The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
        "a_key": "", # Properties of the object. Contains field @type with type URL.
      },
    }

`get(name, x__xgafv=None)`

    Gets details for a Report.

    Args:
      name: string, Required. The name of the report, in the format `organizations/{organization}/locations/global/reports/{report_id}`. (required)
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # Details of a report.
      "createTime": "A String", # Output only. The time at which the report was created.
      "iacValidationReport": { # Details of an infrastructure-as-code (IaC) validation report. # Output only. An infrastructure-as-code (IaC) validation report.
        "note": "A String", # Additional information about the report.
        "violations": [ # A list of every Violation found in the IaC configuration.
          { # Details of a violation.
            "assetId": "A String", # The full resource name of the asset that caused the violation. For details about the format of the full resource name for each asset type, see [Resource name format](https://cloud.google.com/asset-inventory/docs/resource-name-format).
            "nextSteps": "A String", # A description of the steps that you can take to fix the violation.
            "policyId": "A String", # The policy that was violated.
            "severity": "A String", # The severity of the violation.
            "violatedAsset": { # Details of a Cloud Asset Inventory asset that caused a violation. # Details of the Cloud Asset Inventory asset that caused the violation.
              "asset": "A String", # Information about the Cloud Asset Inventory asset that violated a policy. The format of this information can change at any time without prior notice. Your application must not depend on this information in any way.
              "assetType": "A String", # The type of Cloud Asset Inventory asset. For a list of asset types, see [Supported asset types](https://cloud.google.com/asset-inventory/docs/supported-asset-types).
            },
            "violatedPolicy": { # Details of a policy that was violated. # Details of the policy that was violated.
              "complianceStandards": [ # The compliance standards that the policy maps to. For example, `CIS-2.0 1.15`.
                "A String",
              ],
              "constraint": "A String", # Information about the constraint that was violated. The format of this information can change at any time without prior notice. Your application must not depend on this information in any way.
              "constraintType": "A String", # The type of constraint that was violated.
              "description": "A String", # A description of the policy.
            },
            "violatedPosture": { # Details of a posture deployment. # Details for the posture that was violated. This field is present only if the violated policy belongs to a deployed posture.
              "policySet": "A String", # The identifier for the PolicySet that the relevant policy belongs to.
              "posture": "A String", # The posture used in the deployment, in the format `organizations/{organization}/locations/global/postures/{posture_id}`.
              "postureDeployment": "A String", # The name of the posture deployment, in the format `organizations/{organization}/locations/global/postureDeployments/{deployment_id}`.
              "postureDeploymentTargetResource": "A String", # The organization, folder, or project where the posture is deployed. Uses one of the following formats: * `organizations/{organization_number}` * `folders/{folder_number}` * `projects/{project_number}`
              "postureRevisionId": "A String", # The revision ID of the posture used in the deployment.
            },
          },
        ],
      },
      "name": "A String", # Required. The name of the report, in the format `organizations/{organization}/locations/global/reports/{report_id}`.
      "updateTime": "A String", # Output only. The time at which the report was last updated.
    }

`list(parent, filter=None, pageSize=None, pageToken=None, x__xgafv=None)`

    Lists every Report in a given organization and location.

    Args:
      parent: string, Required. The parent resource name, in the format `organizations/{organization}/locations/global`. (required)
      filter: string, Optional. A filter to apply to the list of reports, in the format defined in [AIP-160: Filtering](https://google.aip.dev/160).
      pageSize: integer, Optional. The maximum number of reports to return. The default value is `500`. If you exceed the maximum value of `1000`, then the service uses the maximum value.
      pageToken: string, Optional. A pagination token returned from a previous request to list reports. Provide this token to retrieve the next page of results.
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # Response message for ListReports.
      "nextPageToken": "A String", # A pagination token. To retrieve the next page of results, call the method again with this token.
      "reports": [ # The list of Report resources.
        { # Details of a report.
          "createTime": "A String", # Output only. The time at which the report was created.
          "iacValidationReport": { # Details of an infrastructure-as-code (IaC) validation report. # Output only. An infrastructure-as-code (IaC) validation report.
            "note": "A String", # Additional information about the report.
            "violations": [ # A list of every Violation found in the IaC configuration.
              { # Details of a violation.
                "assetId": "A String", # The full resource name of the asset that caused the violation. For details about the format of the full resource name for each asset type, see [Resource name format](https://cloud.google.com/asset-inventory/docs/resource-name-format).
                "nextSteps": "A String", # A description of the steps that you can take to fix the violation.
                "policyId": "A String", # The policy that was violated.
                "severity": "A String", # The severity of the violation.
                "violatedAsset": { # Details of a Cloud Asset Inventory asset that caused a violation. # Details of the Cloud Asset Inventory asset that caused the violation.
                  "asset": "A String", # Information about the Cloud Asset Inventory asset that violated a policy. The format of this information can change at any time without prior notice. Your application must not depend on this information in any way.
                  "assetType": "A String", # The type of Cloud Asset Inventory asset. For a list of asset types, see [Supported asset types](https://cloud.google.com/asset-inventory/docs/supported-asset-types).
                },
                "violatedPolicy": { # Details of a policy that was violated. # Details of the policy that was violated.
                  "complianceStandards": [ # The compliance standards that the policy maps to. For example, `CIS-2.0 1.15`.
                    "A String",
                  ],
                  "constraint": "A String", # Information about the constraint that was violated. The format of this information can change at any time without prior notice. Your application must not depend on this information in any way.
                  "constraintType": "A String", # The type of constraint that was violated.
                  "description": "A String", # A description of the policy.
                },
                "violatedPosture": { # Details of a posture deployment. # Details for the posture that was violated. This field is present only if the violated policy belongs to a deployed posture.
                  "policySet": "A String", # The identifier for the PolicySet that the relevant policy belongs to.
                  "posture": "A String", # The posture used in the deployment, in the format `organizations/{organization}/locations/global/postures/{posture_id}`.
                  "postureDeployment": "A String", # The name of the posture deployment, in the format `organizations/{organization}/locations/global/postureDeployments/{deployment_id}`.
                  "postureDeploymentTargetResource": "A String", # The organization, folder, or project where the posture is deployed. Uses one of the following formats: * `organizations/{organization_number}` * `folders/{folder_number}` * `projects/{project_number}`
                  "postureRevisionId": "A String", # The revision ID of the posture used in the deployment.
                },
              },
            ],
          },
          "name": "A String", # Required. The name of the report, in the format `organizations/{organization}/locations/global/reports/{report_id}`.
          "updateTime": "A String", # Output only. The time at which the report was last updated.
        },
      ],
      "unreachable": [ # Locations that were temporarily unavailable and could not be reached.
        "A String",
      ],
    }

`list_next(previous_request, previous_response)`

    Retrieves the next page of results.

    Args:
      previous_request: The request for the previous page. (required)
      previous_response: The response from the request for the previous page. (required)

    Returns:
      A request object that you can call 'execute()' on to request the next
      page. Returns None if there are no more items in the collection.