Channel Args
data class ChannelArgs(val cryptoKeyName: Output<String>? = null, val location: Output<String>? = null, val name: Output<String>? = null, val project: Output<String>? = null, val thirdPartyProvider: Output<String>? = null) : ConvertibleToJava<ChannelArgs>
The Eventarc Channel resource
Example Usage
Basic
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.organizations.OrganizationsFunctions;
import com.pulumi.gcp.organizations.inputs.GetProjectArgs;
import com.pulumi.gcp.kms.KmsFunctions;
import com.pulumi.gcp.kms.inputs.GetKMSKeyRingArgs;
import com.pulumi.gcp.kms.inputs.GetKMSCryptoKeyArgs;
import com.pulumi.gcp.kms.CryptoKeyIAMMember;
import com.pulumi.gcp.kms.CryptoKeyIAMMemberArgs;
import com.pulumi.gcp.eventarc.Channel;
import com.pulumi.gcp.eventarc.ChannelArgs;
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) {
final var testProject = OrganizationsFunctions.getProject(GetProjectArgs.builder()
.projectId("my-project-name")
.build());
final var testKeyRing = KmsFunctions.getKMSKeyRing(GetKMSKeyRingArgs.builder()
.name("keyring")
.location("us-west1")
.build());
final var key = KmsFunctions.getKMSCryptoKey(GetKMSCryptoKeyArgs.builder()
.name("key")
.keyRing(testKeyRing.applyValue(getKMSKeyRingResult -> getKMSKeyRingResult.id()))
.build());
var key1Member = new CryptoKeyIAMMember("key1Member", CryptoKeyIAMMemberArgs.builder()
.cryptoKeyId(data.google_kms_crypto_key().key1().id())
.role("roles/cloudkms.cryptoKeyEncrypterDecrypter")
.member(String.format("serviceAccount:service-%s@gcp-sa-eventarc.iam.gserviceaccount.com", testProject.applyValue(getProjectResult -> getProjectResult.number())))
.build());
var primary = new Channel("primary", ChannelArgs.builder()
.location("us-west1")
.project(testProject.applyValue(getProjectResult -> getProjectResult.projectId()))
.cryptoKeyName(data.google_kms_crypto_key().key1().id())
.thirdPartyProvider(String.format("projects/%s/locations/us-west1/providers/datadog", testProject.applyValue(getProjectResult -> getProjectResult.projectId())))
.build(), CustomResourceOptions.builder()
.dependsOn(key1Member)
.build());
}
}
Content copied to clipboard
Import
Channel can be imported using any of these accepted formats
$ pulumi import gcp:eventarc/channel:Channel default projects/{{project}}/locations/{{location}}/channels/{{name}}
Content copied to clipboard
$ pulumi import gcp:eventarc/channel:Channel default {{project}}/{{location}}/{{name}}
Content copied to clipboard
$ pulumi import gcp:eventarc/channel:Channel default {{location}}/{{name}}
Content copied to clipboard
Constructors
Properties
Link copied to clipboard
Optional. Resource name of a KMS crypto key (managed by the user) used to encrypt/decrypt their event data. It must match the pattern projects/*/locations/*/keyRings/*/cryptoKeys/*
.
Link copied to clipboard
The name of the event provider (e.g. Eventarc SaaS partner) associated with the channel. This provider will be granted permissions to publish events to the channel. Format: projects/{project}/locations/{location}/providers/{provider_id}
. ////