A repository (or repo) is a Git repository storing versioned source content.
To get more information about Repository, see:
resource "google_sourcerepo_repository" "my-repo" {
name = "my/repository"
}
resource "google_service_account" "test_account" {
account_id = "my-account"
display_name = "Test Service Account"
}
resource "google_pubsub_topic" "topic" {
name = "my-topic"
}
resource "google_sourcerepo_repository" "my-repo" {
name = "my-repository"
pubsub_configs {
topic = google_pubsub_topic.topic.id
message_format = "JSON"
service_account_email = google_service_account.test_account.email
}
}
The following arguments are supported:
name
-
(Required)
Resource name of the repository, of the form {{repo}}
.
The repo name may contain slashes. eg, name/with/slash
pubsub_configs
-
(Optional)
How this repository publishes a change in the repository through Cloud Pub/Sub.
Keyed by the topic names.
Structure is documented below.
project
- (Optional) The ID of the project in which the resource belongs.
If it is not provided, the provider project is used.
The pubsub_configs
block supports:
topic
- (Required) The identifier for this object. Format specified above.
message_format
-
(Required)
The format of the Cloud Pub/Sub messages.
PROTOBUF
, JSON
.service_account_email
-
(Optional)
Email address of the service account used for publishing Cloud Pub/Sub messages.
This service account needs to be in the same project as the PubsubConfig. When added,
the caller needs to have iam.serviceAccounts.actAs permission on this service account.
If unspecified, it defaults to the compute engine default service account.
In addition to the arguments listed above, the following computed attributes are exported:
id
- an identifier for the resource with format projects/{{project}}/repos/{{name}}
url
-
URL to clone the repository from Google Cloud Source Repositories.
size
-
The disk usage of the repo, in bytes.
This resource provides the following Timeouts configuration options:
create
- Default is 20 minutes.update
- Default is 20 minutes.delete
- Default is 20 minutes.Repository can be imported using any of these accepted formats:
projects/{{project}}/repos/{{name}}
{{name}}
In Terraform v1.5.0 and later, use an import
block to import Repository using one of the formats above. For example:
import {
id = "projects/{{project}}/repos/{{name}}"
to = google_sourcerepo_repository.default
}
When using the terraform import
command, Repository can be imported using one of the formats above. For example:
$ terraform import google_sourcerepo_repository.default projects/{{project}}/repos/{{name}}
$ terraform import google_sourcerepo_repository.default {{name}}
This resource supports User Project Overrides.