<html><body>
<style>

body, h1, h2, h3, div, span, p, pre, a {
  margin: 0;
  padding: 0;
  border: 0;
  font-weight: inherit;
  font-style: inherit;
  font-size: 100%;
  font-family: inherit;
  vertical-align: baseline;
}

body {
  font-size: 13px;
  padding: 1em;
}

h1 {
  font-size: 26px;
  margin-bottom: 1em;
}

h2 {
  font-size: 24px;
  margin-bottom: 1em;
}

h3 {
  font-size: 20px;
  margin-bottom: 1em;
  margin-top: 1em;
}

pre, code {
  line-height: 1.5;
  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
}

pre {
  margin-top: 0.5em;
}

h1, h2, h3, p {
  font-family: Arial, sans serif;
}

h1, h2, h3 {
  border-bottom: solid #CCC 1px;
}

.toc_element {
  margin-top: 0.5em;
}

.firstline {
  margin-left: 2 em;
}

.method  {
  margin-top: 1em;
  border: solid 1px #CCC;
  padding: 1em;
  background: #EEE;
}

.details {
  font-weight: bold;
  font-size: 14px;
}

</style>

<h1><a href="dataplex_v1.html">Cloud Dataplex API</a> . <a href="dataplex_v1.projects.html">projects</a> . <a href="dataplex_v1.projects.locations.html">locations</a> . <a href="dataplex_v1.projects.locations.lakes.html">lakes</a> . <a href="dataplex_v1.projects.locations.lakes.actions.html">actions</a></h1>
<h2>Instance Methods</h2>
<p class="toc_element">
  <code><a href="#close">close()</a></code></p>
<p class="firstline">Close httplib2 connections.</p>
<p class="toc_element">
  <code><a href="#list">list(parent, pageSize=None, pageToken=None, x__xgafv=None)</a></code></p>
<p class="firstline">Lists action resources in a lake.</p>
<p class="toc_element">
  <code><a href="#list_next">list_next()</a></code></p>
<p class="firstline">Retrieves the next page of results.</p>
<h3>Method Details</h3>
<div class="method">
    <code class="details" id="close">close()</code>
  <pre>Close httplib2 connections.</pre>
</div>

<div class="method">
    <code class="details" id="list">list(parent, pageSize=None, pageToken=None, x__xgafv=None)</code>
  <pre>Lists action resources in a lake.

Args:
  parent: string, Required. The resource name of the parent lake: projects/{project_number}/locations/{location_id}/lakes/{lake_id}. (required)
  pageSize: integer, Optional. Maximum number of actions to return. The service may return fewer than this value. If unspecified, at most 10 actions will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.
  pageToken: string, Optional. Page token received from a previous ListLakeActions call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to ListLakeActions must match the call that provided the page token.
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # List actions response.
  &quot;actions&quot;: [ # Actions under the given parent lake/zone/asset.
    { # Action represents an issue requiring administrator action for resolution.
      &quot;asset&quot;: &quot;A String&quot;, # Output only. The relative resource name of the asset, of the form: projects/{project_number}/locations/{location_id}/lakes/{lake_id}/zones/{zone_id}/assets/{asset_id}.
      &quot;category&quot;: &quot;A String&quot;, # The category of issue associated with the action.
      &quot;dataLocations&quot;: [ # The list of data locations associated with this action. Cloud Storage locations are represented as URI paths(E.g. gs://bucket/table1/year=2020/month=Jan/). BigQuery locations refer to resource names(E.g. bigquery.googleapis.com/projects/project-id/datasets/dataset-id).
        &quot;A String&quot;,
      ],
      &quot;detectTime&quot;: &quot;A String&quot;, # The time that the issue was detected.
      &quot;failedSecurityPolicyApply&quot;: { # Failed to apply security policy to the managed resource(s) under a lake, zone or an asset. For a lake or zone resource, one or more underlying assets has a failure applying security policy to the associated managed resource. # Details for issues related to applying security policy.
        &quot;asset&quot;: &quot;A String&quot;, # Resource name of one of the assets with failing security policy application. Populated for a lake or zone resource only.
      },
      &quot;incompatibleDataSchema&quot;: { # Action details for incompatible schemas detected by discovery. # Details for issues related to incompatible schemas detected within data.
        &quot;existingSchema&quot;: &quot;A String&quot;, # The existing and expected schema of the table. The schema is provided as a JSON formatted structure listing columns and data types.
        &quot;newSchema&quot;: &quot;A String&quot;, # The new and incompatible schema within the table. The schema is provided as a JSON formatted structured listing columns and data types.
        &quot;sampledDataLocations&quot;: [ # The list of data locations sampled and used for format/schema inference.
          &quot;A String&quot;,
        ],
        &quot;schemaChange&quot;: &quot;A String&quot;, # Whether the action relates to a schema that is incompatible or modified.
        &quot;table&quot;: &quot;A String&quot;, # The name of the table containing invalid data.
      },
      &quot;invalidDataFormat&quot;: { # Action details for invalid or unsupported data files detected by discovery. # Details for issues related to invalid or unsupported data formats.
        &quot;expectedFormat&quot;: &quot;A String&quot;, # The expected data format of the entity.
        &quot;newFormat&quot;: &quot;A String&quot;, # The new unexpected data format within the entity.
        &quot;sampledDataLocations&quot;: [ # The list of data locations sampled and used for format/schema inference.
          &quot;A String&quot;,
        ],
      },
      &quot;invalidDataOrganization&quot;: { # Action details for invalid data arrangement. # Details for issues related to invalid data arrangement.
      },
      &quot;invalidDataPartition&quot;: { # Action details for invalid or unsupported partitions detected by discovery. # Details for issues related to invalid or unsupported data partition structure.
        &quot;expectedStructure&quot;: &quot;A String&quot;, # The issue type of InvalidDataPartition.
      },
      &quot;issue&quot;: &quot;A String&quot;, # Detailed description of the issue requiring action.
      &quot;lake&quot;: &quot;A String&quot;, # Output only. The relative resource name of the lake, of the form: projects/{project_number}/locations/{location_id}/lakes/{lake_id}.
      &quot;missingData&quot;: { # Action details for absence of data detected by discovery. # Details for issues related to absence of data within managed resources.
      },
      &quot;missingResource&quot;: { # Action details for resource references in assets that cannot be located. # Details for issues related to absence of a managed resource.
      },
      &quot;name&quot;: &quot;A String&quot;, # Output only. The relative resource name of the action, of the form: projects/{project}/locations/{location}/lakes/{lake}/actions/{action} projects/{project}/locations/{location}/lakes/{lake}/zones/{zone}/actions/{action} projects/{project}/locations/{location}/lakes/{lake}/zones/{zone}/assets/{asset}/actions/{action}.
      &quot;unauthorizedResource&quot;: { # Action details for unauthorized resource issues raised to indicate that the service account associated with the lake instance is not authorized to access or manage the resource associated with an asset. # Details for issues related to lack of permissions to access data resources.
      },
      &quot;zone&quot;: &quot;A String&quot;, # Output only. The relative resource name of the zone, of the form: projects/{project_number}/locations/{location_id}/lakes/{lake_id}/zones/{zone_id}.
    },
  ],
  &quot;nextPageToken&quot;: &quot;A String&quot;, # Token to retrieve the next page of results, or empty if there are no more results in the list.
}</pre>
</div>

<div class="method">
    <code class="details" id="list_next">list_next()</code>
  <pre>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 &#x27;execute()&#x27; on to request the next
          page. Returns None if there are no more items in the collection.
        </pre>
</div>

</body></html>