Namespace Pulumi.Gcp.SourceRepo
Classes
Repository
A repository (or repo) is a Git repository storing versioned source content.
To get more information about Repository, see:
- API documentation
- How-to Guides
- Official Documentation
Example Usage - Sourcerepo Repository Basic
using Pulumi;
using Gcp = Pulumi.Gcp;
class MyStack : Stack
{
public MyStack()
{
var my_repo = new Gcp.SourceRepo.Repository("my-repo", new Gcp.SourceRepo.RepositoryArgs
{
});
}
}
RepositoryArgs
RepositoryIamBinding
Three different resources help you manage your IAM policy for Cloud Pub/Sub Topic. Each of these resources serves a different use case:
gcp.pubsub.TopicIAMPolicy: Authoritative. Sets the IAM policy for the topic and replaces any existing policy already attached.gcp.pubsub.TopicIAMBinding: Authoritative for a given role. Updates the IAM policy to grant a role to a list of members. Other roles within the IAM policy for the topic are preserved.gcp.pubsub.TopicIAMMember: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the topic are preserved.
Note:
gcp.pubsub.TopicIAMPolicycannot be used in conjunction withgcp.pubsub.TopicIAMBindingandgcp.pubsub.TopicIAMMemberor they will fight over what your policy should be.
Note:
gcp.pubsub.TopicIAMBindingresources can be used in conjunction withgcp.pubsub.TopicIAMMemberresources only if they do not grant privilege to the same role.
google_pubsub_topic_iam_policy
using Pulumi;
using Gcp = Pulumi.Gcp;
class MyStack : Stack
{
public MyStack()
{
var admin = Output.Create(Gcp.Organizations.GetIAMPolicy.InvokeAsync(new Gcp.Organizations.GetIAMPolicyArgs
{
Binding =
{
{
{ "role", "roles/viewer" },
{ "members",
{
"user:jane@example.com",
} },
},
},
}));
var policy = new Gcp.PubSub.TopicIAMPolicy("policy", new Gcp.PubSub.TopicIAMPolicyArgs
{
Project = google_pubsub_topic.Example.Project,
Topic = google_pubsub_topic.Example.Name,
PolicyData = admin.Apply(admin => admin.PolicyData),
});
}
}
google_pubsub_topic_iam_binding
using Pulumi;
using Gcp = Pulumi.Gcp;
class MyStack : Stack
{
public MyStack()
{
var binding = new Gcp.PubSub.TopicIAMBinding("binding", new Gcp.PubSub.TopicIAMBindingArgs
{
Project = google_pubsub_topic.Example.Project,
Topic = google_pubsub_topic.Example.Name,
Role = "roles/viewer",
Members =
{
"user:jane@example.com",
},
});
}
}
google_pubsub_topic_iam_member
using Pulumi;
using Gcp = Pulumi.Gcp;
class MyStack : Stack
{
public MyStack()
{
var member = new Gcp.PubSub.TopicIAMMember("member", new Gcp.PubSub.TopicIAMMemberArgs
{
Project = google_pubsub_topic.Example.Project,
Topic = google_pubsub_topic.Example.Name,
Role = "roles/viewer",
Member = "user:jane@example.com",
});
}
}
RepositoryIamBindingArgs
RepositoryIamBindingState
RepositoryIamMember
Three different resources help you manage your IAM policy for Cloud Pub/Sub Topic. Each of these resources serves a different use case:
gcp.pubsub.TopicIAMPolicy: Authoritative. Sets the IAM policy for the topic and replaces any existing policy already attached.gcp.pubsub.TopicIAMBinding: Authoritative for a given role. Updates the IAM policy to grant a role to a list of members. Other roles within the IAM policy for the topic are preserved.gcp.pubsub.TopicIAMMember: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the topic are preserved.
Note:
gcp.pubsub.TopicIAMPolicycannot be used in conjunction withgcp.pubsub.TopicIAMBindingandgcp.pubsub.TopicIAMMemberor they will fight over what your policy should be.
Note:
gcp.pubsub.TopicIAMBindingresources can be used in conjunction withgcp.pubsub.TopicIAMMemberresources only if they do not grant privilege to the same role.
google_pubsub_topic_iam_policy
using Pulumi;
using Gcp = Pulumi.Gcp;
class MyStack : Stack
{
public MyStack()
{
var admin = Output.Create(Gcp.Organizations.GetIAMPolicy.InvokeAsync(new Gcp.Organizations.GetIAMPolicyArgs
{
Binding =
{
{
{ "role", "roles/viewer" },
{ "members",
{
"user:jane@example.com",
} },
},
},
}));
var policy = new Gcp.PubSub.TopicIAMPolicy("policy", new Gcp.PubSub.TopicIAMPolicyArgs
{
Project = google_pubsub_topic.Example.Project,
Topic = google_pubsub_topic.Example.Name,
PolicyData = admin.Apply(admin => admin.PolicyData),
});
}
}
google_pubsub_topic_iam_binding
using Pulumi;
using Gcp = Pulumi.Gcp;
class MyStack : Stack
{
public MyStack()
{
var binding = new Gcp.PubSub.TopicIAMBinding("binding", new Gcp.PubSub.TopicIAMBindingArgs
{
Project = google_pubsub_topic.Example.Project,
Topic = google_pubsub_topic.Example.Name,
Role = "roles/viewer",
Members =
{
"user:jane@example.com",
},
});
}
}
google_pubsub_topic_iam_member
using Pulumi;
using Gcp = Pulumi.Gcp;
class MyStack : Stack
{
public MyStack()
{
var member = new Gcp.PubSub.TopicIAMMember("member", new Gcp.PubSub.TopicIAMMemberArgs
{
Project = google_pubsub_topic.Example.Project,
Topic = google_pubsub_topic.Example.Name,
Role = "roles/viewer",
Member = "user:jane@example.com",
});
}
}
RepositoryIamMemberArgs
RepositoryIamMemberState
RepositoryIamPolicy
Three different resources help you manage your IAM policy for Cloud Pub/Sub Topic. Each of these resources serves a different use case:
gcp.pubsub.TopicIAMPolicy: Authoritative. Sets the IAM policy for the topic and replaces any existing policy already attached.gcp.pubsub.TopicIAMBinding: Authoritative for a given role. Updates the IAM policy to grant a role to a list of members. Other roles within the IAM policy for the topic are preserved.gcp.pubsub.TopicIAMMember: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the topic are preserved.
Note:
gcp.pubsub.TopicIAMPolicycannot be used in conjunction withgcp.pubsub.TopicIAMBindingandgcp.pubsub.TopicIAMMemberor they will fight over what your policy should be.
Note:
gcp.pubsub.TopicIAMBindingresources can be used in conjunction withgcp.pubsub.TopicIAMMemberresources only if they do not grant privilege to the same role.
google_pubsub_topic_iam_policy
using Pulumi;
using Gcp = Pulumi.Gcp;
class MyStack : Stack
{
public MyStack()
{
var admin = Output.Create(Gcp.Organizations.GetIAMPolicy.InvokeAsync(new Gcp.Organizations.GetIAMPolicyArgs
{
Binding =
{
{
{ "role", "roles/viewer" },
{ "members",
{
"user:jane@example.com",
} },
},
},
}));
var policy = new Gcp.PubSub.TopicIAMPolicy("policy", new Gcp.PubSub.TopicIAMPolicyArgs
{
Project = google_pubsub_topic.Example.Project,
Topic = google_pubsub_topic.Example.Name,
PolicyData = admin.Apply(admin => admin.PolicyData),
});
}
}
google_pubsub_topic_iam_binding
using Pulumi;
using Gcp = Pulumi.Gcp;
class MyStack : Stack
{
public MyStack()
{
var binding = new Gcp.PubSub.TopicIAMBinding("binding", new Gcp.PubSub.TopicIAMBindingArgs
{
Project = google_pubsub_topic.Example.Project,
Topic = google_pubsub_topic.Example.Name,
Role = "roles/viewer",
Members =
{
"user:jane@example.com",
},
});
}
}
google_pubsub_topic_iam_member
using Pulumi;
using Gcp = Pulumi.Gcp;
class MyStack : Stack
{
public MyStack()
{
var member = new Gcp.PubSub.TopicIAMMember("member", new Gcp.PubSub.TopicIAMMemberArgs
{
Project = google_pubsub_topic.Example.Project,
Topic = google_pubsub_topic.Example.Name,
Role = "roles/viewer",
Member = "user:jane@example.com",
});
}
}