Apigee API . organizations . environments . sharedflows . revisions

Instance Methods

close()

Close httplib2 connections.

deploy(name, override=None, serviceAccount=None, x__xgafv=None)

Deploys a revision of a shared flow. If another revision of the same shared flow is currently deployed, set the `override` parameter to `true` to have this revision replace the currently deployed revision. You cannot use a shared flow until it has been deployed to an environment. For a request path `organizations/{org}/environments/{env}/sharedflows/{sf}/revisions/{rev}/deployments`, two permissions are required: * `apigee.deployments.create` on the resource `organizations/{org}/environments/{env}` * `apigee.sharedflowrevisions.deploy` on the resource `organizations/{org}/sharedflows/{sf}/revisions/{rev}`

getDeployments(name, x__xgafv=None)

Gets the deployment of a shared flow revision and actual state reported by runtime pods.

undeploy(name, x__xgafv=None)

Undeploys a shared flow revision from an environment. For a request path `organizations/{org}/environments/{env}/sharedflows/{sf}/revisions/{rev}/deployments`, two permissions are required: * `apigee.deployments.delete` on the resource `organizations/{org}/environments/{env}` * `apigee.sharedflowrevisions.undeploy` on the resource `organizations/{org}/sharedflows/{sf}/revisions/{rev}`

Method Details

close()
Close httplib2 connections.
deploy(name, override=None, serviceAccount=None, x__xgafv=None)
Deploys a revision of a shared flow. If another revision of the same shared flow is currently deployed, set the `override` parameter to `true` to have this revision replace the currently deployed revision. You cannot use a shared flow until it has been deployed to an environment. For a request path `organizations/{org}/environments/{env}/sharedflows/{sf}/revisions/{rev}/deployments`, two permissions are required: * `apigee.deployments.create` on the resource `organizations/{org}/environments/{env}` * `apigee.sharedflowrevisions.deploy` on the resource `organizations/{org}/sharedflows/{sf}/revisions/{rev}`

Args:
  name: string, Required. Name of the shared flow revision to deploy in the following format: `organizations/{org}/environments/{env}/sharedflows/{sharedflow}/revisions/{rev}` (required)
  override: boolean, Flag that specifies whether the new deployment replaces other deployed revisions of the shared flow in the environment. Set `override` to `true` to replace other deployed revisions. By default, `override` is `false` and the deployment is rejected if other revisions of the shared flow are deployed in the environment.
  serviceAccount: string, Google Cloud IAM service account. The service account represents the identity of the deployed proxy, and determines what permissions it has. The format must be `{ACCOUNT_ID}@{PROJECT}.iam.gserviceaccount.com`.
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    {
  "apiProxy": "A String", # API proxy.
  "deployStartTime": "A String", # Time the API proxy was marked `deployed` in the control plane in millisconds since epoch.
  "environment": "A String", # Environment.
  "errors": [ # Errors reported for this deployment. Populated only when state == ERROR. **Note**: This field is displayed only when viewing deployment status.
    { # 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).
      "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.
    },
  ],
  "instances": [ # Status reported by each runtime instance. **Note**: This field is displayed only when viewing deployment status.
    { # The status of a deployment as reported by a single instance.
      "deployedRevisions": [ # Revisions currently deployed in MPs.
        { # Revisions deployed in the MPs.
          "percentage": 42, # Percentage of MP replicas reporting this revision.
          "revision": "A String", # API proxy revision reported as deployed.
        },
      ],
      "deployedRoutes": [ # 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.
          "basepath": "A String", # Base path in the routing table.
          "envgroup": "A String", # Environment group where this route is installed.
          "environment": "A String", # Destination environment. This will be empty if the route is not yet reported.
          "percentage": 42, # Percentage of ingress replicas reporting this route.
        },
      ],
      "instance": "A String", # ID of the instance reporting the status.
    },
  ],
  "pods": [ # Status reported by runtime pods. **Note**: **This field is deprecated**. Runtime versions 1.3 and above report instance level status rather than pod status.
    {
      "appVersion": "A String", # Version of the application running in the pod.
      "deploymentStatus": "A String", # Status of the deployment. Valid values include: - `deployed`: Successful. - `error` : Failed. - `pending` : Pod has not yet reported on the deployment.
      "deploymentStatusTime": "A String", # Time the deployment status was reported in milliseconds since epoch.
      "deploymentTime": "A String", # Time the proxy was deployed in milliseconds since epoch.
      "podName": "A String", # Name of the pod which is reporting the status.
      "podStatus": "A String", # 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.
      "podStatusTime": "A String", # Time the pod status was reported in milliseconds since epoch.
      "statusCode": "A String", # Code associated with the deployment status.
      "statusCodeDetails": "A String", # Human-readable message associated with the status code.
    },
  ],
  "proxyDeploymentType": "A String", # Output only. The type of the deployment (standard or extensible) Deployed proxy revision will be marked as extensible in following 2 cases. 1. The deployed proxy revision uses extensible policies. 2. If a environment supports flowhooks and flow hook is configured.
  "revision": "A String", # API proxy revision.
  "routeConflicts": [ # 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'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. **Note**: This field is displayed only when viewing deployment status.
    { # Describes a routing conflict that may cause a deployment not to receive traffic at some base path.
      "conflictingDeployment": { # Tuple representing a base path and the deployment containing it. # Existing base path/deployment causing the conflict.
        "apiProxy": "A String", # Name of the deployed API proxy revision containing the base path.
        "basepath": "A String", # Base path receiving traffic.
        "environment": "A String", # Name of the environment in which the proxy is deployed.
        "revision": "A String", # Name of the deployed API proxy revision containing the base path.
      },
      "description": "A String", # Human-readable description of this conflict.
      "environmentGroup": "A String", # Name of the environment group in which this conflict exists.
    },
  ],
  "serviceAccount": "A String", # The full resource name of Cloud IAM Service Account that this deployment is using, eg, `projects/-/serviceAccounts/{email}`.
  "state": "A String", # Current state of the deployment. **Note**: This field is displayed only when viewing deployment status.
}
getDeployments(name, x__xgafv=None)
Gets the deployment of a shared flow revision and actual state reported by runtime pods.

Args:
  name: string, Required. Name representing a shared flow in an environment in the following format: `organizations/{org}/environments/{env}/sharedflows/{sharedflow}/revisions/{rev}` (required)
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    {
  "apiProxy": "A String", # API proxy.
  "deployStartTime": "A String", # Time the API proxy was marked `deployed` in the control plane in millisconds since epoch.
  "environment": "A String", # Environment.
  "errors": [ # Errors reported for this deployment. Populated only when state == ERROR. **Note**: This field is displayed only when viewing deployment status.
    { # 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).
      "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.
    },
  ],
  "instances": [ # Status reported by each runtime instance. **Note**: This field is displayed only when viewing deployment status.
    { # The status of a deployment as reported by a single instance.
      "deployedRevisions": [ # Revisions currently deployed in MPs.
        { # Revisions deployed in the MPs.
          "percentage": 42, # Percentage of MP replicas reporting this revision.
          "revision": "A String", # API proxy revision reported as deployed.
        },
      ],
      "deployedRoutes": [ # 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.
          "basepath": "A String", # Base path in the routing table.
          "envgroup": "A String", # Environment group where this route is installed.
          "environment": "A String", # Destination environment. This will be empty if the route is not yet reported.
          "percentage": 42, # Percentage of ingress replicas reporting this route.
        },
      ],
      "instance": "A String", # ID of the instance reporting the status.
    },
  ],
  "pods": [ # Status reported by runtime pods. **Note**: **This field is deprecated**. Runtime versions 1.3 and above report instance level status rather than pod status.
    {
      "appVersion": "A String", # Version of the application running in the pod.
      "deploymentStatus": "A String", # Status of the deployment. Valid values include: - `deployed`: Successful. - `error` : Failed. - `pending` : Pod has not yet reported on the deployment.
      "deploymentStatusTime": "A String", # Time the deployment status was reported in milliseconds since epoch.
      "deploymentTime": "A String", # Time the proxy was deployed in milliseconds since epoch.
      "podName": "A String", # Name of the pod which is reporting the status.
      "podStatus": "A String", # 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.
      "podStatusTime": "A String", # Time the pod status was reported in milliseconds since epoch.
      "statusCode": "A String", # Code associated with the deployment status.
      "statusCodeDetails": "A String", # Human-readable message associated with the status code.
    },
  ],
  "proxyDeploymentType": "A String", # Output only. The type of the deployment (standard or extensible) Deployed proxy revision will be marked as extensible in following 2 cases. 1. The deployed proxy revision uses extensible policies. 2. If a environment supports flowhooks and flow hook is configured.
  "revision": "A String", # API proxy revision.
  "routeConflicts": [ # 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'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. **Note**: This field is displayed only when viewing deployment status.
    { # Describes a routing conflict that may cause a deployment not to receive traffic at some base path.
      "conflictingDeployment": { # Tuple representing a base path and the deployment containing it. # Existing base path/deployment causing the conflict.
        "apiProxy": "A String", # Name of the deployed API proxy revision containing the base path.
        "basepath": "A String", # Base path receiving traffic.
        "environment": "A String", # Name of the environment in which the proxy is deployed.
        "revision": "A String", # Name of the deployed API proxy revision containing the base path.
      },
      "description": "A String", # Human-readable description of this conflict.
      "environmentGroup": "A String", # Name of the environment group in which this conflict exists.
    },
  ],
  "serviceAccount": "A String", # The full resource name of Cloud IAM Service Account that this deployment is using, eg, `projects/-/serviceAccounts/{email}`.
  "state": "A String", # Current state of the deployment. **Note**: This field is displayed only when viewing deployment status.
}
undeploy(name, x__xgafv=None)
Undeploys a shared flow revision from an environment. For a request path `organizations/{org}/environments/{env}/sharedflows/{sf}/revisions/{rev}/deployments`, two permissions are required: * `apigee.deployments.delete` on the resource `organizations/{org}/environments/{env}` * `apigee.sharedflowrevisions.undeploy` on the resource `organizations/{org}/sharedflows/{sf}/revisions/{rev}`

Args:
  name: string, Required. Name of the shared flow revision to undeploy in the following format: `organizations/{org}/environments/{env}/sharedflows/{sharedflow}/revisions/{rev}` (required)
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }
}