<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="apigee_v1.html">Apigee API</a> . <a href="apigee_v1.organizations.html">organizations</a> . <a href="apigee_v1.organizations.environments.html">environments</a> . <a href="apigee_v1.organizations.environments.deployments.html">deployments</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, sharedFlows=None, x__xgafv=None)</a></code></p>
<p class="firstline">Lists all deployments of API proxies or shared flows in an environment.</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, sharedFlows=None, x__xgafv=None)</code>
  <pre>Lists all deployments of API proxies or shared flows in an environment.

Args:
  parent: string, Required. Name of the environment for which to return deployment information in the following format: `organizations/{org}/environments/{env}` (required)
  sharedFlows: boolean, Optional. Flag that specifies whether to return shared flow or API proxy deployments. Set to `true` to return shared flow deployments; set to `false` to return API proxy deployments. Defaults to `false`.
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    {
  &quot;deployments&quot;: [ # List of deployments.
    {
      &quot;apiProxy&quot;: &quot;A String&quot;, # API proxy.
      &quot;deployStartTime&quot;: &quot;A String&quot;, # Time the API proxy was marked `deployed` in the control plane in millisconds since epoch.
      &quot;environment&quot;: &quot;A String&quot;, # Environment.
      &quot;errors&quot;: [ # Errors reported for this deployment. Populated only when state == ERROR. This field is not populated in List APIs.
        { # 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).
          &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
          &quot;details&quot;: [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
            {
              &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
            },
          ],
          &quot;message&quot;: &quot;A String&quot;, # 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.
        },
      ],
      &quot;instances&quot;: [ # Status reported by each runtime instance. This field is not populated in List APIs.
        { # The status of a deployment as reported by a single instance.
          &quot;deployedRevisions&quot;: [ # Revisions currently deployed in MPs.
            { # Revisions deployed in the MPs.
              &quot;percentage&quot;: 42, # Percentage of MP replicas reporting this revision.
              &quot;revision&quot;: &quot;A String&quot;, # API proxy revision reported as deployed.
            },
          ],
          &quot;deployedRoutes&quot;: [ # Current routes deployed in the ingress routing table. A route which is missing will appear in `missing_routes`.
            { # Route deployed in the ingress routing table.
              &quot;basepath&quot;: &quot;A String&quot;, # Base path in the routing table.
              &quot;envgroup&quot;: &quot;A String&quot;, # Environment group where this route is installed.
              &quot;environment&quot;: &quot;A String&quot;, # Destination environment. This will be empty if the route is not yet reported.
              &quot;percentage&quot;: 42, # Percentage of ingress replicas reporting this route.
            },
          ],
          &quot;instance&quot;: &quot;A String&quot;, # ID of the instance reporting the status.
        },
      ],
      &quot;pods&quot;: [ # Status reported by runtime pods. This field is not populated for List APIs. **Note**: **This field is deprecated**. Runtime versions 1.3 and above report instance level status rather than pod status.
        {
          &quot;appVersion&quot;: &quot;A String&quot;, # Version of the application running in the pod.
          &quot;deploymentStatus&quot;: &quot;A String&quot;, # Status of the deployment. Valid values include: - `deployed`: Successful. - `error` : Failed. - `pending` : Pod has not yet reported on the deployment.
          &quot;deploymentStatusTime&quot;: &quot;A String&quot;, # Time the deployment status was reported in milliseconds since epoch.
          &quot;deploymentTime&quot;: &quot;A String&quot;, # Time the proxy was deployed in milliseconds since epoch.
          &quot;podName&quot;: &quot;A String&quot;, # Name of the pod which is reporting the status.
          &quot;podStatus&quot;: &quot;A String&quot;, # Overall status of the pod (not this specific deployment). Valid values include: - `active`: Up to date. - `stale` : Recently out of date. Pods that have not reported status in a long time are excluded from the output.
          &quot;podStatusTime&quot;: &quot;A String&quot;, # Time the pod status was reported in milliseconds since epoch.
          &quot;statusCode&quot;: &quot;A String&quot;, # Code associated with the deployment status.
          &quot;statusCodeDetails&quot;: &quot;A String&quot;, # Human-readable message associated with the status code.
        },
      ],
      &quot;revision&quot;: &quot;A String&quot;, # API proxy revision.
      &quot;routeConflicts&quot;: [ # Conflicts in the desired state routing configuration. The presence of conflicts does not cause the state to be `ERROR`, but it will mean that some of the deployment&#x27;s base paths are not routed to its environment. If the conflicts change, the state will transition to `PROGRESSING` until the latest configuration is rolled out to all instances. This field is not populated in List APIs.
        { # Describes a routing conflict that may cause a deployment not to receive traffic at some base path.
          &quot;conflictingDeployment&quot;: { # Tuple representing a base path and the deployment containing it. # Existing base path/deployment causing the conflict.
            &quot;apiProxy&quot;: &quot;A String&quot;, # Name of the deployed API proxy revision containing the base path.
            &quot;basepath&quot;: &quot;A String&quot;, # Base path receiving traffic.
            &quot;environment&quot;: &quot;A String&quot;, # Name of the environment in which the proxy is deployed.
            &quot;revision&quot;: &quot;A String&quot;, # Name of the deployed API proxy revision containing the base path.
          },
          &quot;description&quot;: &quot;A String&quot;, # Human-readable description of this conflict.
          &quot;environmentGroup&quot;: &quot;A String&quot;, # Name of the environment group in which this conflict exists.
        },
      ],
      &quot;state&quot;: &quot;A String&quot;, # Current state of the deployment. This field is not populated in List APIs.
    },
  ],
}</pre>
</div>

</body></html>