Binding class
Represents a user-defined Binding.
Example Usage
Agent Registry Binding Basic
import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";
import * as google from "@pulumi/google";
const _default = gcp.agentregistry.getAgent({
location: "global",
filter: "displayName:Workspace Agent",
});
const defaultIamConnectorsConnector = new google.index.IamConnectorsConnector("default", {
location: "us-central1",
connectorId: "ar-binding",
connectorTypeParams: [{
connectorVersion: "projects/my-project-name/locations/global/providers/gcp/connectors/pubsub/versions/1",
}],
});
const defaultBinding = new gcp.agentregistry.Binding("default", {
location: "us-central1",
bindingId: "ar-binding",
displayName: "My Binding",
description: "My GA agent registry binding",
source: {
identifier: _default.then(_default => _default.urn),
},
target: {
identifier: _default.then(_default => _default.urn),
},
authProviderBinding: {
authProvider: defaultIamConnectorsConnector.id,
scopes: ["https://www.googleapis.com/auth/cloud-platform"],
continueUri: "https://example.com/continue",
},
}, {
dependsOn: [defaultIamConnectorsConnector],
});
import pulumi
import pulumi_gcp as gcp
import pulumi_google as google
default = gcp.agentregistry.get_agent(location="global",
filter="displayName:Workspace Agent")
default_iam_connectors_connector = google.IamConnectorsConnector("default",
location=us-central1,
connector_id=ar-binding,
connector_type_params=[{
connectorVersion: projects/my-project-name/locations/global/providers/gcp/connectors/pubsub/versions/1,
}])
default_binding = gcp.agentregistry.Binding("default",
location="us-central1",
binding_id="ar-binding",
display_name="My Binding",
description="My GA agent registry binding",
source={
"identifier": default.urn,
},
target={
"identifier": default.urn,
},
auth_provider_binding={
"auth_provider": default_iam_connectors_connector["id"],
"scopes": ["https://www.googleapis.com/auth/cloud-platform"],
"continue_uri": "https://example.com/continue",
},
opts = pulumi.ResourceOptions(depends_on=[default_iam_connectors_connector]))
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Gcp = Pulumi.Gcp;
using Google = Pulumi.Google;
return await Deployment.RunAsync(() =>
{
var @default = Gcp.AgentRegistry.GetAgent.Invoke(new()
{
Location = "global",
Filter = "displayName:Workspace Agent",
});
var defaultIamConnectorsConnector = new Google.IamConnectorsConnector("default", new()
{
Location = "us-central1",
ConnectorId = "ar-binding",
ConnectorTypeParams = new[]
{
{
{ "connectorVersion", "projects/my-project-name/locations/global/providers/gcp/connectors/pubsub/versions/1" },
},
},
});
var defaultBinding = new Gcp.AgentRegistry.Binding("default", new()
{
Location = "us-central1",
BindingId = "ar-binding",
DisplayName = "My Binding",
Description = "My GA agent registry binding",
Source = new Gcp.AgentRegistry.Inputs.BindingSourceArgs
{
Identifier = @default.Apply(@default => @default.Apply(getAgentResult => getAgentResult.Urn)),
},
Target = new Gcp.AgentRegistry.Inputs.BindingTargetArgs
{
Identifier = @default.Apply(@default => @default.Apply(getAgentResult => getAgentResult.Urn)),
},
AuthProviderBinding = new Gcp.AgentRegistry.Inputs.BindingAuthProviderBindingArgs
{
AuthProvider = defaultIamConnectorsConnector.Id,
Scopes = new[]
{
"https://www.googleapis.com/auth/cloud-platform",
},
ContinueUri = "https://example.com/continue",
},
}, new CustomResourceOptions
{
DependsOn =
{
defaultIamConnectorsConnector,
},
});
});
package main
import (
"github.com/pulumi/pulumi-gcp/sdk/v9/go/gcp/agentregistry"
"github.com/pulumi/pulumi-google/sdk/go/google"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_default, err := agentregistry.GetAgent(ctx, &agentregistry.GetAgentArgs{
Location: "global",
Filter: pulumi.StringRef("displayName:Workspace Agent"),
}, nil)
if err != nil {
return err
}
defaultIamConnectorsConnector, err := google.NewIamConnectorsConnector(ctx, "default", &google.IamConnectorsConnectorArgs{
Location: "us-central1",
ConnectorId: "ar-binding",
ConnectorTypeParams: []map[string]string{
{
"connectorVersion": "projects/my-project-name/locations/global/providers/gcp/connectors/pubsub/versions/1",
},
},
})
if err != nil {
return err
}
_, err = agentregistry.NewBinding(ctx, "default", &agentregistry.BindingArgs{
Location: pulumi.String("us-central1"),
BindingId: pulumi.String("ar-binding"),
DisplayName: pulumi.String("My Binding"),
Description: pulumi.String("My GA agent registry binding"),
Source: &agentregistry.BindingSourceArgs{
Identifier: pulumi.String(_default.Urn),
},
Target: &agentregistry.BindingTargetArgs{
Identifier: pulumi.String(_default.Urn),
},
AuthProviderBinding: &agentregistry.BindingAuthProviderBindingArgs{
AuthProvider: defaultIamConnectorsConnector.Id,
Scopes: pulumi.StringArray{
pulumi.String("https://www.googleapis.com/auth/cloud-platform"),
},
ContinueUri: pulumi.String("https://example.com/continue"),
},
}, pulumi.DependsOn([]pulumi.Resource{
defaultIamConnectorsConnector,
}))
if err != nil {
return err
}
return nil
})
}
pulumi {
required_providers {
gcp = {
source = "pulumi/gcp"
}
}
}
data "gcp_agentregistry_getagent" "default" {
location = "global"
filter = "displayName:Workspace Agent"
}
resource "gcp_agentregistry_binding" "default" {
depends_on = [google_iamconnectorsconnector.default]
location = "us-central1"
binding_id = "ar-binding"
display_name = "My Binding"
description = "My GA agent registry binding"
source = {
identifier = data.gcp_agentregistry_getagent.default.urn
}
target = {
identifier = data.gcp_agentregistry_getagent.default.urn
}
auth_provider_binding = {
auth_provider = google_iamconnectorsconnector.default.id
scopes = ["https://www.googleapis.com/auth/cloud-platform"]
continue_uri = "https://example.com/continue"
}
}
resource "google_iamconnectorsconnector" "default" {
location = "us-central1"
connector_id = "ar-binding"
connector_type_params = [{
"connectorVersion" = "projects/my-project-name/locations/global/providers/gcp/connectors/pubsub/versions/1"
}]
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.agentregistry.AgentregistryFunctions;
import com.pulumi.gcp.agentregistry.inputs.GetAgentArgs;
import com.pulumi.google.IamConnectorsConnector;
import com.pulumi.google.IamConnectorsConnectorArgs;
import com.pulumi.gcp.agentregistry.Binding;
import com.pulumi.gcp.agentregistry.BindingArgs;
import com.pulumi.gcp.agentregistry.inputs.BindingSourceArgs;
import com.pulumi.gcp.agentregistry.inputs.BindingTargetArgs;
import com.pulumi.gcp.agentregistry.inputs.BindingAuthProviderBindingArgs;
import com.pulumi.resources.CustomResourceOptions;
import java.util.ArrayList;
import java.util.Arrays;
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 default = AgentregistryFunctions.getAgent(GetAgentArgs.builder()
.location("global")
.filter("displayName:Workspace Agent")
.build());
var defaultIamConnectorsConnector = new IamConnectorsConnector("defaultIamConnectorsConnector", IamConnectorsConnectorArgs.builder()
.location("us-central1")
.connectorId("ar-binding")
.connectorTypeParams(Arrays.asList(Map.of("connectorVersion", "projects/my-project-name/locations/global/providers/gcp/connectors/pubsub/versions/1")))
.build());
var defaultBinding = new Binding("defaultBinding", BindingArgs.builder()
.location("us-central1")
.bindingId("ar-binding")
.displayName("My Binding")
.description("My GA agent registry binding")
.source(BindingSourceArgs.builder()
.identifier(default_.urn())
.build())
.target(BindingTargetArgs.builder()
.identifier(default_.urn())
.build())
.authProviderBinding(BindingAuthProviderBindingArgs.builder()
.authProvider(defaultIamConnectorsConnector.get("id"))
.scopes("https://www.googleapis.com/auth/cloud-platform")
.continueUri("https://example.com/continue")
.build())
.build(), CustomResourceOptions.builder()
.dependsOn(defaultIamConnectorsConnector)
.build());
}
}
resources:
defaultBinding:
type: gcp:agentregistry:Binding
name: default
properties:
location: us-central1
bindingId: ar-binding
displayName: My Binding
description: My GA agent registry binding
source:
identifier: ${default.urn}
target:
identifier: ${default.urn}
authProviderBinding:
authProvider: ${defaultIamConnectorsConnector.id}
scopes:
- https://www.googleapis.com/auth/cloud-platform
continueUri: https://example.com/continue
options:
dependsOn:
- ${defaultIamConnectorsConnector}
defaultIamConnectorsConnector:
type: google:IamConnectorsConnector
name: default
properties:
location: us-central1
connectorId: ar-binding
connectorTypeParams:
- connectorVersion: projects/my-project-name/locations/global/providers/gcp/connectors/pubsub/versions/1
variables:
default:
fn::invoke:
function: gcp:agentregistry:getAgent
arguments:
location: global
filter: displayName:Workspace Agent
Import
Binding can be imported using any of these accepted formats:
projects/{{project}}/locations/{{location}}/bindings/{{binding_id}}{{project}}/{{location}}/{{binding_id}}{{location}}/{{binding_id}}
When using the pulumi import command, Binding can be imported using one of the formats above. For example:
$ pulumi import gcp:agentregistry/binding:Binding default projects/{{project}}/locations/{{location}}/bindings/{{binding_id}}
$ pulumi import gcp:agentregistry/binding:Binding default {{project}}/{{location}}/{{binding_id}}
$ pulumi import gcp:agentregistry/binding:Binding default {{location}}/{{binding_id}}
Constructors
- Binding(String name, {BindingArgs? args, CustomResourceOptions? options})
-
Creates a new Binding.
nameThe Pulumi resource name.argsArguments used to configure this Binding. The set of arguments for Binding.optionsResource options controlling this resource's behavior. - Binding.reference(String urn)
- Creates a typed reference to an existing Binding resource.
Properties
-
authProviderBinding
↔ Output<
BindingAuthProviderBinding> -
The auth provider of the Binding.
Structure is documented below.
latefinal
-
bindingId
↔ Output<
String> -
The name of the Binding.
latefinal
-
childResources
→ Set<
Resource> -
finalinherited
-
completionSources
↔ Map<
String, IOutputCompletionSource> -
latefinalinherited
-
createTime
↔ Output<
String> -
The timestamp when the resource was created.
latefinal
-
deletionPolicy
↔ Output<
String> -
Whether Terraform will be prevented from destroying the resource. Defaults to DELETE.
When a 'terraform destroy' or 'pulumi up' would delete the resource,
the command will fail if this field is set to "PREVENT" in Terraform state.
When set to "ABANDON", the command will remove the resource from Terraform
management without updating or deleting the resource in the API.
When set to "DELETE", deleting the resource is allowed.
latefinal
-
description
↔ Output<
String?> -
The description of the Binding.
latefinal
-
displayName
↔ Output<
String?> -
User-defined display name for the Binding.
latefinal
- hashCode → int
-
The hash code for this object.
no setterinherited
-
id
↔ Output<
String> -
getter/setter pairinherited
- isCustom → bool
-
Returns whether this resource is provider-managed.
no setterinherited
- isProtected → bool
-
Returns whether this resource is protected from deletion.
no setterinherited
- isRemote → bool
-
Whether this resource is registered as remote.
no setterinherited
- isResourceReference → bool
-
Whether this instance represents a resource value returned over RPC.
finalinherited
-
location
↔ Output<
String> -
The location of the resource.
latefinal
-
name
↔ Output<
String> -
The resource name of the Binding.
latefinal
-
project
↔ Output<
String> -
The ID of the project in which the resource belongs.
If it is not provided, the provider project is used.
latefinal
-
resourceTransforms
→ List<
ResourceTransform> -
Inherited/explicit async transforms.
no setterinherited
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
-
source
↔ Output<
BindingSource> -
The source of the Binding.
Structure is documented below.
latefinal
-
target
↔ Output<
BindingTarget> -
The target of the Binding.
Structure is documented below.
latefinal
-
transformations
→ List<
ResourceTransformation> -
Inherited/explicit legacy transformations.
no setterinherited
-
updateTime
↔ Output<
String> -
The timestamp when the resource was updated.
latefinal
-
urn
↔ Output<
String> -
latefinalinherited
Methods
-
failId(
Object error) → void -
Completes this resource ID with an error when registration fails.
inherited
-
failOutputs(
Object error) → void -
Completes all output properties with
error.inherited -
failUrn(
Object error) → void -
Completes this resource URN with an error when registration fails.
inherited
-
getProvider(
String moduleMember) → ProviderResource? -
Returns provider for
moduleMember's package, if configured.inherited -
getResourceName(
) → String -
Returns this resource's logical name.
inherited
-
getResourceType(
) → String -
Returns this resource's Pulumi type token.
inherited
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
registerOutput<
T> (String propertyName, {Object? decoder(Object?)?, bool isSecret = false}) → Output< T> -
Registers a dynamic output property for this resource.
inherited
-
resolveId(
String? value, {required bool isKnown}) → void -
Resolves the provider-assigned ID for this resource.
inherited
-
resolveOutputs(
Struct outputs) → void -
Resolves all output properties from a monitor response payload.
inherited
-
resolveUrn(
String value) → void -
Resolves this resource's URN once assigned by the engine.
inherited
-
serializeProperties(
Map< String, dynamic> properties) → Future<Struct> -
Serializes resource properties for RPC transmission.
inherited
-
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited