Developer Connect API . projects . locations . connections

Instance Methods

gitRepositoryLinks()

Returns the gitRepositoryLinks Resource.

close()

Close httplib2 connections.

create(parent, body=None, connectionId=None, requestId=None, validateOnly=None, x__xgafv=None)

Creates a new Connection in a given project and location.

delete(name, etag=None, requestId=None, validateOnly=None, x__xgafv=None)

Deletes a single Connection.

fetchGitHubInstallations(connection, x__xgafv=None)

FetchGitHubInstallations returns the list of GitHub Installations that are available to be added to a Connection. For github.com, only installations accessible to the authorizer token are returned. For GitHub Enterprise, all installations are returned.

fetchLinkableGitRepositories(connection, pageSize=None, pageToken=None, x__xgafv=None)

FetchLinkableGitRepositories returns a list of git repositories from an SCM that are available to be added to a Connection.

fetchLinkableGitRepositories_next()

Retrieves the next page of results.

get(name, x__xgafv=None)

Gets details of a single Connection.

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

Lists Connections in a given project and location.

list_next()

Retrieves the next page of results.

patch(name, allowMissing=None, body=None, requestId=None, updateMask=None, validateOnly=None, x__xgafv=None)

Updates the parameters of a single Connection.

processGitHubEnterpriseWebhook(parent, body=None, x__xgafv=None)

ProcessGitHubEnterpriseWebhook is called by the external GitHub Enterprise instances for notifying events.

Method Details

close()
Close httplib2 connections.
create(parent, body=None, connectionId=None, requestId=None, validateOnly=None, x__xgafv=None)
Creates a new Connection in a given project and location.

Args:
  parent: string, Required. Value for parent. (required)
  body: object, The request body.
    The object takes the form of:

{ # Message describing Connection object
  "annotations": { # Optional. Allows clients to store small amounts of arbitrary data.
    "a_key": "A String",
  },
  "createTime": "A String", # Output only. [Output only] Create timestamp
  "cryptoKeyConfig": { # The crypto key configuration. This field is used by the Customer-managed encryption keys (CMEK) feature. # Optional. The crypto key configuration. This field is used by the Customer-Managed Encryption Keys (CMEK) feature.
    "keyReference": "A String", # Required. The name of the key which is used to encrypt/decrypt customer data. For key in Cloud KMS, the key should be in the format of `projects/*/locations/*/keyRings/*/cryptoKeys/*`.
  },
  "deleteTime": "A String", # Output only. [Output only] Delete timestamp
  "disabled": True or False, # Optional. If disabled is set to true, functionality is disabled for this connection. Repository based API methods and webhooks processing for repositories in this connection will be disabled.
  "etag": "A String", # Optional. This checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding.
  "githubConfig": { # Configuration for connections to github.com. # Configuration for connections to github.com.
    "appInstallationId": "A String", # Optional. GitHub App installation id.
    "authorizerCredential": { # Represents an OAuth token of the account that authorized the Connection, and associated metadata. # Optional. OAuth credential of the account that authorized the GitHub App. It is recommended to use a robot account instead of a human user account. The OAuth token must be tied to the GitHub App of this config.
      "oauthTokenSecretVersion": "A String", # Required. A SecretManager resource containing the OAuth token that authorizes the connection. Format: `projects/*/secrets/*/versions/*`.
      "username": "A String", # Output only. The username associated with this token.
    },
    "githubApp": "A String", # Required. Immutable. The GitHub Application that was installed to the GitHub user or organization.
    "installationUri": "A String", # Output only. The URI to navigate to in order to manage the installation associated with this GitHubConfig.
  },
  "githubEnterpriseConfig": { # Configuration for connections to an instance of GitHub Enterprise. # Configuration for connections to an instance of GitHub Enterprise.
    "appId": "A String", # Optional. ID of the GitHub App created from the manifest.
    "appInstallationId": "A String", # Optional. ID of the installation of the GitHub App.
    "appSlug": "A String", # Output only. The URL-friendly name of the GitHub App.
    "hostUri": "A String", # Required. The URI of the GitHub Enterprise host this connection is for.
    "installationUri": "A String", # Output only. The URI to navigate to in order to manage the installation associated with this GitHubEnterpriseConfig.
    "privateKeySecretVersion": "A String", # Optional. SecretManager resource containing the private key of the GitHub App, formatted as `projects/*/secrets/*/versions/*`.
    "serverVersion": "A String", # Output only. GitHub Enterprise version installed at the host_uri.
    "serviceDirectoryConfig": { # ServiceDirectoryConfig represents Service Directory configuration for a connection. # Optional. Configuration for using Service Directory to privately connect to a GitHub Enterprise server. This should only be set if the GitHub Enterprise server is hosted on-premises and not reachable by public internet. If this field is left empty, calls to the GitHub Enterprise server will be made over the public internet.
      "service": "A String", # Required. The Service Directory service name. Format: projects/{project}/locations/{location}/namespaces/{namespace}/services/{service}.
    },
    "sslCaCertificate": "A String", # Optional. SSL certificate to use for requests to GitHub Enterprise.
    "webhookSecretSecretVersion": "A String", # Optional. SecretManager resource containing the webhook secret of the GitHub App, formatted as `projects/*/secrets/*/versions/*`.
  },
  "gitlabConfig": { # Configuration for connections to gitlab.com. # Configuration for connections to gitlab.com.
    "authorizerCredential": { # Represents a personal access token that authorized the Connection, and associated metadata. # Required. A GitLab personal access token with the minimum `api` scope access and a minimum role of `maintainer`. The GitLab Projects visible to this Personal Access Token will control which Projects Developer Connect has access to.
      "userTokenSecretVersion": "A String", # Required. A SecretManager resource containing the user token that authorizes the Developer Connect connection. Format: `projects/*/secrets/*/versions/*`.
      "username": "A String", # Output only. The username associated with this token.
    },
    "readAuthorizerCredential": { # Represents a personal access token that authorized the Connection, and associated metadata. # Required. A GitLab personal access token with the minimum `read_api` scope access and a minimum role of `reporter`. The GitLab Projects visible to this Personal Access Token will control which Projects Developer Connect has access to.
      "userTokenSecretVersion": "A String", # Required. A SecretManager resource containing the user token that authorizes the Developer Connect connection. Format: `projects/*/secrets/*/versions/*`.
      "username": "A String", # Output only. The username associated with this token.
    },
    "webhookSecretSecretVersion": "A String", # Required. Immutable. SecretManager resource containing the webhook secret of a GitLab project, formatted as `projects/*/secrets/*/versions/*`. This is used to validate webhooks.
  },
  "gitlabEnterpriseConfig": { # Configuration for connections to an instance of GitLab Enterprise. # Configuration for connections to an instance of GitLab Enterprise.
    "authorizerCredential": { # Represents a personal access token that authorized the Connection, and associated metadata. # Required. A GitLab personal access token with the minimum `api` scope access and a minimum role of `maintainer`. The GitLab Projects visible to this Personal Access Token will control which Projects Developer Connect has access to.
      "userTokenSecretVersion": "A String", # Required. A SecretManager resource containing the user token that authorizes the Developer Connect connection. Format: `projects/*/secrets/*/versions/*`.
      "username": "A String", # Output only. The username associated with this token.
    },
    "hostUri": "A String", # Required. The URI of the GitLab Enterprise host this connection is for.
    "readAuthorizerCredential": { # Represents a personal access token that authorized the Connection, and associated metadata. # Required. A GitLab personal access token with the minimum `read_api` scope access and a minimum role of `reporter`. The GitLab Projects visible to this Personal Access Token will control which Projects Developer Connect has access to.
      "userTokenSecretVersion": "A String", # Required. A SecretManager resource containing the user token that authorizes the Developer Connect connection. Format: `projects/*/secrets/*/versions/*`.
      "username": "A String", # Output only. The username associated with this token.
    },
    "serverVersion": "A String", # Output only. Version of the GitLab Enterprise server running on the `host_uri`.
    "serviceDirectoryConfig": { # ServiceDirectoryConfig represents Service Directory configuration for a connection. # Optional. Configuration for using Service Directory to privately connect to a GitLab Enterprise instance. This should only be set if the GitLab Enterprise server is hosted on-premises and not reachable by public internet. If this field is left empty, calls to the GitLab Enterprise server will be made over the public internet.
      "service": "A String", # Required. The Service Directory service name. Format: projects/{project}/locations/{location}/namespaces/{namespace}/services/{service}.
    },
    "sslCaCertificate": "A String", # Optional. SSL Certificate Authority certificate to use for requests to GitLab Enterprise instance.
    "webhookSecretSecretVersion": "A String", # Required. Immutable. SecretManager resource containing the webhook secret of a GitLab project, formatted as `projects/*/secrets/*/versions/*`. This is used to validate webhooks.
  },
  "installationState": { # Describes stage and necessary actions to be taken by the user to complete the installation. Used for GitHub and GitHub Enterprise based connections. # Output only. Installation state of the Connection.
    "actionUri": "A String", # Output only. Link to follow for next action. Empty string if the installation is already complete.
    "message": "A String", # Output only. Message of what the user should do next to continue the installation. Empty string if the installation is already complete.
    "stage": "A String", # Output only. Current step of the installation process.
  },
  "labels": { # Optional. Labels as key value pairs
    "a_key": "A String",
  },
  "name": "A String", # Identifier. The resource name of the connection, in the format `projects/{project}/locations/{location}/connections/{connection_id}`.
  "reconciling": True or False, # Output only. Set to true when the connection is being set up or updated in the background.
  "uid": "A String", # Output only. A system-assigned unique identifier for a the GitRepositoryLink.
  "updateTime": "A String", # Output only. [Output only] Update timestamp
}

  connectionId: string, Required. Id of the requesting object If auto-generating Id server-side, remove this field and connection_id from the method_signature of Create RPC
  requestId: string, Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
  validateOnly: boolean, Optional. If set, validate the request, but do not actually post it.
  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.
  },
}
delete(name, etag=None, requestId=None, validateOnly=None, x__xgafv=None)
Deletes a single Connection.

Args:
  name: string, Required. Name of the resource (required)
  etag: string, Optional. The current etag of the Connection. If an etag is provided and does not match the current etag of the Connection, deletion will be blocked and an ABORTED error will be returned.
  requestId: string, Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
  validateOnly: boolean, Optional. If set, validate the request, but do not actually post it.
  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.
  },
}
fetchGitHubInstallations(connection, x__xgafv=None)
FetchGitHubInstallations returns the list of GitHub Installations that are available to be added to a Connection. For github.com, only installations accessible to the authorizer token are returned. For GitHub Enterprise, all installations are returned.

Args:
  connection: string, Required. The resource name of the connection in the format `projects/*/locations/*/connections/*`. (required)
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # Response of fetching github installations.
  "installations": [ # List of installations available to the OAuth user (for github.com) or all the installations (for GitHub enterprise).
    { # Represents an installation of the GitHub App.
      "id": "A String", # ID of the installation in GitHub.
      "name": "A String", # Name of the GitHub user or organization that owns this installation.
      "type": "A String", # Either "user" or "organization".
    },
  ],
}
fetchLinkableGitRepositories(connection, pageSize=None, pageToken=None, x__xgafv=None)
FetchLinkableGitRepositories returns a list of git repositories from an SCM that are available to be added to a Connection.

Args:
  connection: string, Required. The name of the Connection. Format: `projects/*/locations/*/connections/*`. (required)
  pageSize: integer, Optional. Number of results to return in the list. Defaults to 20.
  pageToken: string, Optional. Page start.
  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 FetchLinkableGitRepositories.
  "linkableGitRepositories": [ # The git repositories that can be linked to the connection.
    { # LinkableGitRepository represents a git repository that can be linked to a connection.
      "cloneUri": "A String", # The clone uri of the repository.
    },
  ],
  "nextPageToken": "A String", # A token identifying a page of results the server should return.
}
fetchLinkableGitRepositories_next()
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.
        
get(name, x__xgafv=None)
Gets details of a single Connection.

Args:
  name: string, Required. Name of the resource (required)
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # Message describing Connection object
  "annotations": { # Optional. Allows clients to store small amounts of arbitrary data.
    "a_key": "A String",
  },
  "createTime": "A String", # Output only. [Output only] Create timestamp
  "cryptoKeyConfig": { # The crypto key configuration. This field is used by the Customer-managed encryption keys (CMEK) feature. # Optional. The crypto key configuration. This field is used by the Customer-Managed Encryption Keys (CMEK) feature.
    "keyReference": "A String", # Required. The name of the key which is used to encrypt/decrypt customer data. For key in Cloud KMS, the key should be in the format of `projects/*/locations/*/keyRings/*/cryptoKeys/*`.
  },
  "deleteTime": "A String", # Output only. [Output only] Delete timestamp
  "disabled": True or False, # Optional. If disabled is set to true, functionality is disabled for this connection. Repository based API methods and webhooks processing for repositories in this connection will be disabled.
  "etag": "A String", # Optional. This checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding.
  "githubConfig": { # Configuration for connections to github.com. # Configuration for connections to github.com.
    "appInstallationId": "A String", # Optional. GitHub App installation id.
    "authorizerCredential": { # Represents an OAuth token of the account that authorized the Connection, and associated metadata. # Optional. OAuth credential of the account that authorized the GitHub App. It is recommended to use a robot account instead of a human user account. The OAuth token must be tied to the GitHub App of this config.
      "oauthTokenSecretVersion": "A String", # Required. A SecretManager resource containing the OAuth token that authorizes the connection. Format: `projects/*/secrets/*/versions/*`.
      "username": "A String", # Output only. The username associated with this token.
    },
    "githubApp": "A String", # Required. Immutable. The GitHub Application that was installed to the GitHub user or organization.
    "installationUri": "A String", # Output only. The URI to navigate to in order to manage the installation associated with this GitHubConfig.
  },
  "githubEnterpriseConfig": { # Configuration for connections to an instance of GitHub Enterprise. # Configuration for connections to an instance of GitHub Enterprise.
    "appId": "A String", # Optional. ID of the GitHub App created from the manifest.
    "appInstallationId": "A String", # Optional. ID of the installation of the GitHub App.
    "appSlug": "A String", # Output only. The URL-friendly name of the GitHub App.
    "hostUri": "A String", # Required. The URI of the GitHub Enterprise host this connection is for.
    "installationUri": "A String", # Output only. The URI to navigate to in order to manage the installation associated with this GitHubEnterpriseConfig.
    "privateKeySecretVersion": "A String", # Optional. SecretManager resource containing the private key of the GitHub App, formatted as `projects/*/secrets/*/versions/*`.
    "serverVersion": "A String", # Output only. GitHub Enterprise version installed at the host_uri.
    "serviceDirectoryConfig": { # ServiceDirectoryConfig represents Service Directory configuration for a connection. # Optional. Configuration for using Service Directory to privately connect to a GitHub Enterprise server. This should only be set if the GitHub Enterprise server is hosted on-premises and not reachable by public internet. If this field is left empty, calls to the GitHub Enterprise server will be made over the public internet.
      "service": "A String", # Required. The Service Directory service name. Format: projects/{project}/locations/{location}/namespaces/{namespace}/services/{service}.
    },
    "sslCaCertificate": "A String", # Optional. SSL certificate to use for requests to GitHub Enterprise.
    "webhookSecretSecretVersion": "A String", # Optional. SecretManager resource containing the webhook secret of the GitHub App, formatted as `projects/*/secrets/*/versions/*`.
  },
  "gitlabConfig": { # Configuration for connections to gitlab.com. # Configuration for connections to gitlab.com.
    "authorizerCredential": { # Represents a personal access token that authorized the Connection, and associated metadata. # Required. A GitLab personal access token with the minimum `api` scope access and a minimum role of `maintainer`. The GitLab Projects visible to this Personal Access Token will control which Projects Developer Connect has access to.
      "userTokenSecretVersion": "A String", # Required. A SecretManager resource containing the user token that authorizes the Developer Connect connection. Format: `projects/*/secrets/*/versions/*`.
      "username": "A String", # Output only. The username associated with this token.
    },
    "readAuthorizerCredential": { # Represents a personal access token that authorized the Connection, and associated metadata. # Required. A GitLab personal access token with the minimum `read_api` scope access and a minimum role of `reporter`. The GitLab Projects visible to this Personal Access Token will control which Projects Developer Connect has access to.
      "userTokenSecretVersion": "A String", # Required. A SecretManager resource containing the user token that authorizes the Developer Connect connection. Format: `projects/*/secrets/*/versions/*`.
      "username": "A String", # Output only. The username associated with this token.
    },
    "webhookSecretSecretVersion": "A String", # Required. Immutable. SecretManager resource containing the webhook secret of a GitLab project, formatted as `projects/*/secrets/*/versions/*`. This is used to validate webhooks.
  },
  "gitlabEnterpriseConfig": { # Configuration for connections to an instance of GitLab Enterprise. # Configuration for connections to an instance of GitLab Enterprise.
    "authorizerCredential": { # Represents a personal access token that authorized the Connection, and associated metadata. # Required. A GitLab personal access token with the minimum `api` scope access and a minimum role of `maintainer`. The GitLab Projects visible to this Personal Access Token will control which Projects Developer Connect has access to.
      "userTokenSecretVersion": "A String", # Required. A SecretManager resource containing the user token that authorizes the Developer Connect connection. Format: `projects/*/secrets/*/versions/*`.
      "username": "A String", # Output only. The username associated with this token.
    },
    "hostUri": "A String", # Required. The URI of the GitLab Enterprise host this connection is for.
    "readAuthorizerCredential": { # Represents a personal access token that authorized the Connection, and associated metadata. # Required. A GitLab personal access token with the minimum `read_api` scope access and a minimum role of `reporter`. The GitLab Projects visible to this Personal Access Token will control which Projects Developer Connect has access to.
      "userTokenSecretVersion": "A String", # Required. A SecretManager resource containing the user token that authorizes the Developer Connect connection. Format: `projects/*/secrets/*/versions/*`.
      "username": "A String", # Output only. The username associated with this token.
    },
    "serverVersion": "A String", # Output only. Version of the GitLab Enterprise server running on the `host_uri`.
    "serviceDirectoryConfig": { # ServiceDirectoryConfig represents Service Directory configuration for a connection. # Optional. Configuration for using Service Directory to privately connect to a GitLab Enterprise instance. This should only be set if the GitLab Enterprise server is hosted on-premises and not reachable by public internet. If this field is left empty, calls to the GitLab Enterprise server will be made over the public internet.
      "service": "A String", # Required. The Service Directory service name. Format: projects/{project}/locations/{location}/namespaces/{namespace}/services/{service}.
    },
    "sslCaCertificate": "A String", # Optional. SSL Certificate Authority certificate to use for requests to GitLab Enterprise instance.
    "webhookSecretSecretVersion": "A String", # Required. Immutable. SecretManager resource containing the webhook secret of a GitLab project, formatted as `projects/*/secrets/*/versions/*`. This is used to validate webhooks.
  },
  "installationState": { # Describes stage and necessary actions to be taken by the user to complete the installation. Used for GitHub and GitHub Enterprise based connections. # Output only. Installation state of the Connection.
    "actionUri": "A String", # Output only. Link to follow for next action. Empty string if the installation is already complete.
    "message": "A String", # Output only. Message of what the user should do next to continue the installation. Empty string if the installation is already complete.
    "stage": "A String", # Output only. Current step of the installation process.
  },
  "labels": { # Optional. Labels as key value pairs
    "a_key": "A String",
  },
  "name": "A String", # Identifier. The resource name of the connection, in the format `projects/{project}/locations/{location}/connections/{connection_id}`.
  "reconciling": True or False, # Output only. Set to true when the connection is being set up or updated in the background.
  "uid": "A String", # Output only. A system-assigned unique identifier for a the GitRepositoryLink.
  "updateTime": "A String", # Output only. [Output only] Update timestamp
}
list(parent, filter=None, orderBy=None, pageSize=None, pageToken=None, x__xgafv=None)
Lists Connections in a given project and location.

Args:
  parent: string, Required. Parent value for ListConnectionsRequest (required)
  filter: string, Optional. Filtering results
  orderBy: string, Optional. Hint for how to order the results
  pageSize: integer, Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default.
  pageToken: string, Optional. A token identifying a page of results the server should return.
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # Message for response to listing Connections
  "connections": [ # The list of Connection
    { # Message describing Connection object
      "annotations": { # Optional. Allows clients to store small amounts of arbitrary data.
        "a_key": "A String",
      },
      "createTime": "A String", # Output only. [Output only] Create timestamp
      "cryptoKeyConfig": { # The crypto key configuration. This field is used by the Customer-managed encryption keys (CMEK) feature. # Optional. The crypto key configuration. This field is used by the Customer-Managed Encryption Keys (CMEK) feature.
        "keyReference": "A String", # Required. The name of the key which is used to encrypt/decrypt customer data. For key in Cloud KMS, the key should be in the format of `projects/*/locations/*/keyRings/*/cryptoKeys/*`.
      },
      "deleteTime": "A String", # Output only. [Output only] Delete timestamp
      "disabled": True or False, # Optional. If disabled is set to true, functionality is disabled for this connection. Repository based API methods and webhooks processing for repositories in this connection will be disabled.
      "etag": "A String", # Optional. This checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding.
      "githubConfig": { # Configuration for connections to github.com. # Configuration for connections to github.com.
        "appInstallationId": "A String", # Optional. GitHub App installation id.
        "authorizerCredential": { # Represents an OAuth token of the account that authorized the Connection, and associated metadata. # Optional. OAuth credential of the account that authorized the GitHub App. It is recommended to use a robot account instead of a human user account. The OAuth token must be tied to the GitHub App of this config.
          "oauthTokenSecretVersion": "A String", # Required. A SecretManager resource containing the OAuth token that authorizes the connection. Format: `projects/*/secrets/*/versions/*`.
          "username": "A String", # Output only. The username associated with this token.
        },
        "githubApp": "A String", # Required. Immutable. The GitHub Application that was installed to the GitHub user or organization.
        "installationUri": "A String", # Output only. The URI to navigate to in order to manage the installation associated with this GitHubConfig.
      },
      "githubEnterpriseConfig": { # Configuration for connections to an instance of GitHub Enterprise. # Configuration for connections to an instance of GitHub Enterprise.
        "appId": "A String", # Optional. ID of the GitHub App created from the manifest.
        "appInstallationId": "A String", # Optional. ID of the installation of the GitHub App.
        "appSlug": "A String", # Output only. The URL-friendly name of the GitHub App.
        "hostUri": "A String", # Required. The URI of the GitHub Enterprise host this connection is for.
        "installationUri": "A String", # Output only. The URI to navigate to in order to manage the installation associated with this GitHubEnterpriseConfig.
        "privateKeySecretVersion": "A String", # Optional. SecretManager resource containing the private key of the GitHub App, formatted as `projects/*/secrets/*/versions/*`.
        "serverVersion": "A String", # Output only. GitHub Enterprise version installed at the host_uri.
        "serviceDirectoryConfig": { # ServiceDirectoryConfig represents Service Directory configuration for a connection. # Optional. Configuration for using Service Directory to privately connect to a GitHub Enterprise server. This should only be set if the GitHub Enterprise server is hosted on-premises and not reachable by public internet. If this field is left empty, calls to the GitHub Enterprise server will be made over the public internet.
          "service": "A String", # Required. The Service Directory service name. Format: projects/{project}/locations/{location}/namespaces/{namespace}/services/{service}.
        },
        "sslCaCertificate": "A String", # Optional. SSL certificate to use for requests to GitHub Enterprise.
        "webhookSecretSecretVersion": "A String", # Optional. SecretManager resource containing the webhook secret of the GitHub App, formatted as `projects/*/secrets/*/versions/*`.
      },
      "gitlabConfig": { # Configuration for connections to gitlab.com. # Configuration for connections to gitlab.com.
        "authorizerCredential": { # Represents a personal access token that authorized the Connection, and associated metadata. # Required. A GitLab personal access token with the minimum `api` scope access and a minimum role of `maintainer`. The GitLab Projects visible to this Personal Access Token will control which Projects Developer Connect has access to.
          "userTokenSecretVersion": "A String", # Required. A SecretManager resource containing the user token that authorizes the Developer Connect connection. Format: `projects/*/secrets/*/versions/*`.
          "username": "A String", # Output only. The username associated with this token.
        },
        "readAuthorizerCredential": { # Represents a personal access token that authorized the Connection, and associated metadata. # Required. A GitLab personal access token with the minimum `read_api` scope access and a minimum role of `reporter`. The GitLab Projects visible to this Personal Access Token will control which Projects Developer Connect has access to.
          "userTokenSecretVersion": "A String", # Required. A SecretManager resource containing the user token that authorizes the Developer Connect connection. Format: `projects/*/secrets/*/versions/*`.
          "username": "A String", # Output only. The username associated with this token.
        },
        "webhookSecretSecretVersion": "A String", # Required. Immutable. SecretManager resource containing the webhook secret of a GitLab project, formatted as `projects/*/secrets/*/versions/*`. This is used to validate webhooks.
      },
      "gitlabEnterpriseConfig": { # Configuration for connections to an instance of GitLab Enterprise. # Configuration for connections to an instance of GitLab Enterprise.
        "authorizerCredential": { # Represents a personal access token that authorized the Connection, and associated metadata. # Required. A GitLab personal access token with the minimum `api` scope access and a minimum role of `maintainer`. The GitLab Projects visible to this Personal Access Token will control which Projects Developer Connect has access to.
          "userTokenSecretVersion": "A String", # Required. A SecretManager resource containing the user token that authorizes the Developer Connect connection. Format: `projects/*/secrets/*/versions/*`.
          "username": "A String", # Output only. The username associated with this token.
        },
        "hostUri": "A String", # Required. The URI of the GitLab Enterprise host this connection is for.
        "readAuthorizerCredential": { # Represents a personal access token that authorized the Connection, and associated metadata. # Required. A GitLab personal access token with the minimum `read_api` scope access and a minimum role of `reporter`. The GitLab Projects visible to this Personal Access Token will control which Projects Developer Connect has access to.
          "userTokenSecretVersion": "A String", # Required. A SecretManager resource containing the user token that authorizes the Developer Connect connection. Format: `projects/*/secrets/*/versions/*`.
          "username": "A String", # Output only. The username associated with this token.
        },
        "serverVersion": "A String", # Output only. Version of the GitLab Enterprise server running on the `host_uri`.
        "serviceDirectoryConfig": { # ServiceDirectoryConfig represents Service Directory configuration for a connection. # Optional. Configuration for using Service Directory to privately connect to a GitLab Enterprise instance. This should only be set if the GitLab Enterprise server is hosted on-premises and not reachable by public internet. If this field is left empty, calls to the GitLab Enterprise server will be made over the public internet.
          "service": "A String", # Required. The Service Directory service name. Format: projects/{project}/locations/{location}/namespaces/{namespace}/services/{service}.
        },
        "sslCaCertificate": "A String", # Optional. SSL Certificate Authority certificate to use for requests to GitLab Enterprise instance.
        "webhookSecretSecretVersion": "A String", # Required. Immutable. SecretManager resource containing the webhook secret of a GitLab project, formatted as `projects/*/secrets/*/versions/*`. This is used to validate webhooks.
      },
      "installationState": { # Describes stage and necessary actions to be taken by the user to complete the installation. Used for GitHub and GitHub Enterprise based connections. # Output only. Installation state of the Connection.
        "actionUri": "A String", # Output only. Link to follow for next action. Empty string if the installation is already complete.
        "message": "A String", # Output only. Message of what the user should do next to continue the installation. Empty string if the installation is already complete.
        "stage": "A String", # Output only. Current step of the installation process.
      },
      "labels": { # Optional. Labels as key value pairs
        "a_key": "A String",
      },
      "name": "A String", # Identifier. The resource name of the connection, in the format `projects/{project}/locations/{location}/connections/{connection_id}`.
      "reconciling": True or False, # Output only. Set to true when the connection is being set up or updated in the background.
      "uid": "A String", # Output only. A system-assigned unique identifier for a the GitRepositoryLink.
      "updateTime": "A String", # Output only. [Output only] Update timestamp
    },
  ],
  "nextPageToken": "A String", # A token identifying a page of results the server should return.
  "unreachable": [ # Locations that could not be reached.
    "A String",
  ],
}
list_next()
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.
        
patch(name, allowMissing=None, body=None, requestId=None, updateMask=None, validateOnly=None, x__xgafv=None)
Updates the parameters of a single Connection.

Args:
  name: string, Identifier. The resource name of the connection, in the format `projects/{project}/locations/{location}/connections/{connection_id}`. (required)
  body: object, The request body.
    The object takes the form of:

{ # Message describing Connection object
  "annotations": { # Optional. Allows clients to store small amounts of arbitrary data.
    "a_key": "A String",
  },
  "createTime": "A String", # Output only. [Output only] Create timestamp
  "cryptoKeyConfig": { # The crypto key configuration. This field is used by the Customer-managed encryption keys (CMEK) feature. # Optional. The crypto key configuration. This field is used by the Customer-Managed Encryption Keys (CMEK) feature.
    "keyReference": "A String", # Required. The name of the key which is used to encrypt/decrypt customer data. For key in Cloud KMS, the key should be in the format of `projects/*/locations/*/keyRings/*/cryptoKeys/*`.
  },
  "deleteTime": "A String", # Output only. [Output only] Delete timestamp
  "disabled": True or False, # Optional. If disabled is set to true, functionality is disabled for this connection. Repository based API methods and webhooks processing for repositories in this connection will be disabled.
  "etag": "A String", # Optional. This checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding.
  "githubConfig": { # Configuration for connections to github.com. # Configuration for connections to github.com.
    "appInstallationId": "A String", # Optional. GitHub App installation id.
    "authorizerCredential": { # Represents an OAuth token of the account that authorized the Connection, and associated metadata. # Optional. OAuth credential of the account that authorized the GitHub App. It is recommended to use a robot account instead of a human user account. The OAuth token must be tied to the GitHub App of this config.
      "oauthTokenSecretVersion": "A String", # Required. A SecretManager resource containing the OAuth token that authorizes the connection. Format: `projects/*/secrets/*/versions/*`.
      "username": "A String", # Output only. The username associated with this token.
    },
    "githubApp": "A String", # Required. Immutable. The GitHub Application that was installed to the GitHub user or organization.
    "installationUri": "A String", # Output only. The URI to navigate to in order to manage the installation associated with this GitHubConfig.
  },
  "githubEnterpriseConfig": { # Configuration for connections to an instance of GitHub Enterprise. # Configuration for connections to an instance of GitHub Enterprise.
    "appId": "A String", # Optional. ID of the GitHub App created from the manifest.
    "appInstallationId": "A String", # Optional. ID of the installation of the GitHub App.
    "appSlug": "A String", # Output only. The URL-friendly name of the GitHub App.
    "hostUri": "A String", # Required. The URI of the GitHub Enterprise host this connection is for.
    "installationUri": "A String", # Output only. The URI to navigate to in order to manage the installation associated with this GitHubEnterpriseConfig.
    "privateKeySecretVersion": "A String", # Optional. SecretManager resource containing the private key of the GitHub App, formatted as `projects/*/secrets/*/versions/*`.
    "serverVersion": "A String", # Output only. GitHub Enterprise version installed at the host_uri.
    "serviceDirectoryConfig": { # ServiceDirectoryConfig represents Service Directory configuration for a connection. # Optional. Configuration for using Service Directory to privately connect to a GitHub Enterprise server. This should only be set if the GitHub Enterprise server is hosted on-premises and not reachable by public internet. If this field is left empty, calls to the GitHub Enterprise server will be made over the public internet.
      "service": "A String", # Required. The Service Directory service name. Format: projects/{project}/locations/{location}/namespaces/{namespace}/services/{service}.
    },
    "sslCaCertificate": "A String", # Optional. SSL certificate to use for requests to GitHub Enterprise.
    "webhookSecretSecretVersion": "A String", # Optional. SecretManager resource containing the webhook secret of the GitHub App, formatted as `projects/*/secrets/*/versions/*`.
  },
  "gitlabConfig": { # Configuration for connections to gitlab.com. # Configuration for connections to gitlab.com.
    "authorizerCredential": { # Represents a personal access token that authorized the Connection, and associated metadata. # Required. A GitLab personal access token with the minimum `api` scope access and a minimum role of `maintainer`. The GitLab Projects visible to this Personal Access Token will control which Projects Developer Connect has access to.
      "userTokenSecretVersion": "A String", # Required. A SecretManager resource containing the user token that authorizes the Developer Connect connection. Format: `projects/*/secrets/*/versions/*`.
      "username": "A String", # Output only. The username associated with this token.
    },
    "readAuthorizerCredential": { # Represents a personal access token that authorized the Connection, and associated metadata. # Required. A GitLab personal access token with the minimum `read_api` scope access and a minimum role of `reporter`. The GitLab Projects visible to this Personal Access Token will control which Projects Developer Connect has access to.
      "userTokenSecretVersion": "A String", # Required. A SecretManager resource containing the user token that authorizes the Developer Connect connection. Format: `projects/*/secrets/*/versions/*`.
      "username": "A String", # Output only. The username associated with this token.
    },
    "webhookSecretSecretVersion": "A String", # Required. Immutable. SecretManager resource containing the webhook secret of a GitLab project, formatted as `projects/*/secrets/*/versions/*`. This is used to validate webhooks.
  },
  "gitlabEnterpriseConfig": { # Configuration for connections to an instance of GitLab Enterprise. # Configuration for connections to an instance of GitLab Enterprise.
    "authorizerCredential": { # Represents a personal access token that authorized the Connection, and associated metadata. # Required. A GitLab personal access token with the minimum `api` scope access and a minimum role of `maintainer`. The GitLab Projects visible to this Personal Access Token will control which Projects Developer Connect has access to.
      "userTokenSecretVersion": "A String", # Required. A SecretManager resource containing the user token that authorizes the Developer Connect connection. Format: `projects/*/secrets/*/versions/*`.
      "username": "A String", # Output only. The username associated with this token.
    },
    "hostUri": "A String", # Required. The URI of the GitLab Enterprise host this connection is for.
    "readAuthorizerCredential": { # Represents a personal access token that authorized the Connection, and associated metadata. # Required. A GitLab personal access token with the minimum `read_api` scope access and a minimum role of `reporter`. The GitLab Projects visible to this Personal Access Token will control which Projects Developer Connect has access to.
      "userTokenSecretVersion": "A String", # Required. A SecretManager resource containing the user token that authorizes the Developer Connect connection. Format: `projects/*/secrets/*/versions/*`.
      "username": "A String", # Output only. The username associated with this token.
    },
    "serverVersion": "A String", # Output only. Version of the GitLab Enterprise server running on the `host_uri`.
    "serviceDirectoryConfig": { # ServiceDirectoryConfig represents Service Directory configuration for a connection. # Optional. Configuration for using Service Directory to privately connect to a GitLab Enterprise instance. This should only be set if the GitLab Enterprise server is hosted on-premises and not reachable by public internet. If this field is left empty, calls to the GitLab Enterprise server will be made over the public internet.
      "service": "A String", # Required. The Service Directory service name. Format: projects/{project}/locations/{location}/namespaces/{namespace}/services/{service}.
    },
    "sslCaCertificate": "A String", # Optional. SSL Certificate Authority certificate to use for requests to GitLab Enterprise instance.
    "webhookSecretSecretVersion": "A String", # Required. Immutable. SecretManager resource containing the webhook secret of a GitLab project, formatted as `projects/*/secrets/*/versions/*`. This is used to validate webhooks.
  },
  "installationState": { # Describes stage and necessary actions to be taken by the user to complete the installation. Used for GitHub and GitHub Enterprise based connections. # Output only. Installation state of the Connection.
    "actionUri": "A String", # Output only. Link to follow for next action. Empty string if the installation is already complete.
    "message": "A String", # Output only. Message of what the user should do next to continue the installation. Empty string if the installation is already complete.
    "stage": "A String", # Output only. Current step of the installation process.
  },
  "labels": { # Optional. Labels as key value pairs
    "a_key": "A String",
  },
  "name": "A String", # Identifier. The resource name of the connection, in the format `projects/{project}/locations/{location}/connections/{connection_id}`.
  "reconciling": True or False, # Output only. Set to true when the connection is being set up or updated in the background.
  "uid": "A String", # Output only. A system-assigned unique identifier for a the GitRepositoryLink.
  "updateTime": "A String", # Output only. [Output only] Update timestamp
}

  allowMissing: boolean, Optional. If set to true, and the connection is not found a new connection will be created. In this situation `update_mask` is ignored. The creation will succeed only if the input connection has all the necessary information (e.g a github_config with both user_oauth_token and installation_id properties).
  requestId: string, Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
  updateMask: string, Required. Field mask is used to specify the fields to be overwritten in the Connection resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten.
  validateOnly: boolean, Optional. If set, validate the request, but do not actually post it.
  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.
  },
}
processGitHubEnterpriseWebhook(parent, body=None, x__xgafv=None)
ProcessGitHubEnterpriseWebhook is called by the external GitHub Enterprise instances for notifying events.

Args:
  parent: string, Required. Project and location where the webhook will be received. Format: `projects/*/locations/*`. (required)
  body: object, The request body.
    The object takes the form of:

{ # RPC request object accepted by the ProcessGitHubEnterpriseWebhook RPC method.
  "body": { # Message that represents an arbitrary HTTP body. It should only be used for payload formats that can't be represented as JSON, such as raw binary or an HTML page. This message can be used both in streaming and non-streaming API methods in the request as well as the response. It can be used as a top-level request field, which is convenient if one wants to extract parameters from either the URL or HTTP template into the request fields and also want access to the raw HTTP body. Example: message GetResourceRequest { // A unique request id. string request_id = 1; // The raw HTTP body is bound to this field. google.api.HttpBody http_body = 2; } service ResourceService { rpc GetResource(GetResourceRequest) returns (google.api.HttpBody); rpc UpdateResource(google.api.HttpBody) returns (google.protobuf.Empty); } Example with streaming methods: service CaldavService { rpc GetCalendar(stream google.api.HttpBody) returns (stream google.api.HttpBody); rpc UpdateCalendar(stream google.api.HttpBody) returns (stream google.api.HttpBody); } Use of this type only changes how the request and response bodies are handled, all other features will continue to work unchanged. # Required. HTTP request body.
    "contentType": "A String", # The HTTP Content-Type header value specifying the content type of the body.
    "data": "A String", # The HTTP request/response body as raw binary.
    "extensions": [ # Application specific response metadata. Must be set in the first response for streaming APIs.
      {
        "a_key": "", # Properties of the object. Contains field @type with type URL.
      },
    ],
  },
}

  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); }
}