Repository Release Config
Example Usage
Dataform Repository Release Config
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.sourcerepo.Repository;
import com.pulumi.gcp.sourcerepo.RepositoryArgs;
import com.pulumi.gcp.secretmanager.Secret;
import com.pulumi.gcp.secretmanager.SecretArgs;
import com.pulumi.gcp.secretmanager.inputs.SecretReplicationArgs;
import com.pulumi.gcp.secretmanager.inputs.SecretReplicationAutoArgs;
import com.pulumi.gcp.secretmanager.SecretVersion;
import com.pulumi.gcp.secretmanager.SecretVersionArgs;
import com.pulumi.gcp.dataform.Repository;
import com.pulumi.gcp.dataform.RepositoryArgs;
import com.pulumi.gcp.dataform.inputs.RepositoryGitRemoteSettingsArgs;
import com.pulumi.gcp.dataform.inputs.RepositoryWorkspaceCompilationOverridesArgs;
import com.pulumi.gcp.dataform.RepositoryReleaseConfig;
import com.pulumi.gcp.dataform.RepositoryReleaseConfigArgs;
import com.pulumi.gcp.dataform.inputs.RepositoryReleaseConfigCodeCompilationConfigArgs;
import com.pulumi.resources.CustomResourceOptions;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var gitRepository = new Repository("gitRepository", RepositoryArgs.Empty, CustomResourceOptions.builder()
.provider(google_beta)
.build());
var secret = new Secret("secret", SecretArgs.builder()
.secretId("my_secret")
.replication(SecretReplicationArgs.builder()
.auto()
.build())
.build(), CustomResourceOptions.builder()
.provider(google_beta)
.build());
var secretVersion = new SecretVersion("secretVersion", SecretVersionArgs.builder()
.secret(secret.id())
.secretData("secret-data")
.build(), CustomResourceOptions.builder()
.provider(google_beta)
.build());
var repository = new Repository("repository", RepositoryArgs.builder()
.region("us-central1")
.gitRemoteSettings(RepositoryGitRemoteSettingsArgs.builder()
.url(gitRepository.url())
.defaultBranch("main")
.authenticationTokenSecretVersion(secretVersion.id())
.build())
.workspaceCompilationOverrides(RepositoryWorkspaceCompilationOverridesArgs.builder()
.defaultDatabase("database")
.schemaSuffix("_suffix")
.tablePrefix("prefix_")
.build())
.build(), CustomResourceOptions.builder()
.provider(google_beta)
.build());
var release = new RepositoryReleaseConfig("release", RepositoryReleaseConfigArgs.builder()
.project(repository.project())
.region(repository.region())
.repository(repository.name())
.gitCommitish("main")
.cronSchedule("0 7 * * *")
.timeZone("America/New_York")
.codeCompilationConfig(RepositoryReleaseConfigCodeCompilationConfigArgs.builder()
.defaultDatabase("gcp-example-project")
.defaultSchema("example-dataset")
.defaultLocation("us-central1")
.assertionSchema("example-assertion-dataset")
.databaseSuffix("")
.schemaSuffix("")
.tablePrefix("")
.vars(Map.of("var1", "value"))
.build())
.build(), CustomResourceOptions.builder()
.provider(google_beta)
.build());
}
}
Content copied to clipboard
Import
RepositoryReleaseConfig can be imported using any of these accepted formats
$ pulumi import gcp:dataform/repositoryReleaseConfig:RepositoryReleaseConfig default projects/{{project}}/locations/{{region}}/repositories/{{repository}}/releaseConfigs/{{name}}
Content copied to clipboard
$ pulumi import gcp:dataform/repositoryReleaseConfig:RepositoryReleaseConfig default {{project}}/{{region}}/{{repository}}/{{name}}
Content copied to clipboard
$ pulumi import gcp:dataform/repositoryReleaseConfig:RepositoryReleaseConfig default {{region}}/{{repository}}/{{name}}
Content copied to clipboard
$ pulumi import gcp:dataform/repositoryReleaseConfig:RepositoryReleaseConfig default {{repository}}/{{name}}
Content copied to clipboard
Properties
Link copied to clipboard
Optional. If set, fields of codeCompilationConfig override the default compilation settings that are specified in dataform.json. Structure is documented below.
Link copied to clipboard
Optional. Optional schedule (in cron format) for automatic creation of compilation results.
Link copied to clipboard
Git commit/tag/branch name at which the repository should be compiled. Must exist in the remote repository.
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
val recentScheduledReleaseRecords: Output<List<RepositoryReleaseConfigRecentScheduledReleaseRecord>>
Records of the 10 most recent scheduled release attempts, ordered in in descending order of releaseTime. Updated whenever automatic creation of a compilation result is triggered by cronSchedule. Structure is documented below.
Link copied to clipboard
A reference to the Dataform repository