This page documents the language specification for the gcp package. If you're looking for help working with the inputs, outputs, or functions of gcp resources in a Pulumi program, please see the resource documentation for examples and API reference.

servicedirectory

This provider is a derived work of the Terraform Provider distributed under MPL 2.0. If you encounter a bug or missing feature, first check the pulumi/pulumi-gcp repo; however, if that doesn’t turn up anything, please consult the source terraform-providers/terraform-provider-google repo.

class pulumi_gcp.servicedirectory.Endpoint(resource_name, opts=None, address=None, endpoint_id=None, metadata=None, port=None, service=None, __props__=None, __name__=None, __opts__=None)

An individual endpoint that provides a service.

To get more information about Endpoint, see:

import pulumi
import pulumi_gcp as gcp

example_namespace = gcp.servicedirectory.Namespace("exampleNamespace",
    namespace_id="example-namespace",
    location="us-central1")
example_service = gcp.servicedirectory.Service("exampleService",
    service_id="example-service",
    namespace=example_namespace.id)
example_endpoint = gcp.servicedirectory.Endpoint("exampleEndpoint",
    endpoint_id="example-endpoint",
    service=example_service.id,
    metadata={
        "stage": "prod",
        "region": "us-central1",
    },
    address="1.2.3.4",
    port=5353)
Parameters
  • resource_name (str) – The name of the resource.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • address (pulumi.Input[str]) – IPv4 or IPv6 address of the endpoint.

  • endpoint_id (pulumi.Input[str]) – The Resource ID must be 1-63 characters long, including digits, lowercase letters or the hyphen character.

  • metadata (pulumi.Input[dict]) – Metadata for the endpoint. This data can be consumed by service clients. The entire metadata dictionary may contain up to 512 characters, spread across all key-value pairs. Metadata that goes beyond any these limits will be rejected.

  • port (pulumi.Input[float]) – Port that the endpoint is running on, must be in the range of [0, 65535]. If unspecified, the default is 0.

  • service (pulumi.Input[str]) – The resource name of the service that this endpoint provides.

address: pulumi.Output[str] = None

IPv4 or IPv6 address of the endpoint.

endpoint_id: pulumi.Output[str] = None

The Resource ID must be 1-63 characters long, including digits, lowercase letters or the hyphen character.

metadata: pulumi.Output[dict] = None

Metadata for the endpoint. This data can be consumed by service clients. The entire metadata dictionary may contain up to 512 characters, spread across all key-value pairs. Metadata that goes beyond any these limits will be rejected.

name: pulumi.Output[str] = None

The resource name for the endpoint in the format ‘projects//locations//namespaces//services//endpoints/*’.

port: pulumi.Output[float] = None

Port that the endpoint is running on, must be in the range of [0, 65535]. If unspecified, the default is 0.

service: pulumi.Output[str] = None

The resource name of the service that this endpoint provides.

static get(resource_name, id, opts=None, address=None, endpoint_id=None, metadata=None, name=None, port=None, service=None)

Get an existing Endpoint resource’s state with the given name, id, and optional extra properties used to qualify the lookup.

Parameters
  • resource_name (str) – The unique name of the resulting resource.

  • id (str) – The unique provider ID of the resource to lookup.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • address (pulumi.Input[str]) – IPv4 or IPv6 address of the endpoint.

  • endpoint_id (pulumi.Input[str]) – The Resource ID must be 1-63 characters long, including digits, lowercase letters or the hyphen character.

  • metadata (pulumi.Input[dict]) – Metadata for the endpoint. This data can be consumed by service clients. The entire metadata dictionary may contain up to 512 characters, spread across all key-value pairs. Metadata that goes beyond any these limits will be rejected.

  • name (pulumi.Input[str]) – The resource name for the endpoint in the format ‘projects//locations//namespaces//services//endpoints/*’.

  • port (pulumi.Input[float]) – Port that the endpoint is running on, must be in the range of [0, 65535]. If unspecified, the default is 0.

  • service (pulumi.Input[str]) – The resource name of the service that this endpoint provides.

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

class pulumi_gcp.servicedirectory.Namespace(resource_name, opts=None, labels=None, location=None, namespace_id=None, project=None, __props__=None, __name__=None, __opts__=None)

A container for services. Namespaces allow administrators to group services together and define permissions for a collection of services.

To get more information about Namespace, see:

import pulumi
import pulumi_gcp as gcp

example = gcp.servicedirectory.Namespace("example",
    namespace_id="example-namespace",
    location="us-central1",
    labels={
        "key": "value",
        "foo": "bar",
    })
Parameters
  • resource_name (str) – The name of the resource.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • labels (pulumi.Input[dict]) – Resource labels associated with this Namespace. No more than 64 user labels can be associated with a given resource. Label keys and values can be no longer than 63 characters.

  • location (pulumi.Input[str]) – The location for the Namespace. A full list of valid locations can be found by running gcloud beta service-directory locations list.

  • namespace_id (pulumi.Input[str]) – The Resource ID must be 1-63 characters long, including digits, lowercase letters or the hyphen character.

  • project (pulumi.Input[str]) – The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

labels: pulumi.Output[dict] = None

Resource labels associated with this Namespace. No more than 64 user labels can be associated with a given resource. Label keys and values can be no longer than 63 characters.

location: pulumi.Output[str] = None

The location for the Namespace. A full list of valid locations can be found by running gcloud beta service-directory locations list.

name: pulumi.Output[str] = None

The resource name for the namespace in the format ‘projects//locations//namespaces/*’.

namespace_id: pulumi.Output[str] = None

The Resource ID must be 1-63 characters long, including digits, lowercase letters or the hyphen character.

project: pulumi.Output[str] = None

The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

static get(resource_name, id, opts=None, labels=None, location=None, name=None, namespace_id=None, project=None)

Get an existing Namespace resource’s state with the given name, id, and optional extra properties used to qualify the lookup.

Parameters
  • resource_name (str) – The unique name of the resulting resource.

  • id (str) – The unique provider ID of the resource to lookup.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • labels (pulumi.Input[dict]) – Resource labels associated with this Namespace. No more than 64 user labels can be associated with a given resource. Label keys and values can be no longer than 63 characters.

  • location (pulumi.Input[str]) – The location for the Namespace. A full list of valid locations can be found by running gcloud beta service-directory locations list.

  • name (pulumi.Input[str]) – The resource name for the namespace in the format ‘projects//locations//namespaces/*’.

  • namespace_id (pulumi.Input[str]) – The Resource ID must be 1-63 characters long, including digits, lowercase letters or the hyphen character.

  • project (pulumi.Input[str]) – The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

class pulumi_gcp.servicedirectory.NamespaceIamBinding(resource_name, opts=None, condition=None, members=None, name=None, role=None, __props__=None, __name__=None, __opts__=None)

Three different resources help you manage your IAM policy for Service Directory Namespace. Each of these resources serves a different use case:

  • servicedirectory.NamespaceIamPolicy: Authoritative. Sets the IAM policy for the namespace and replaces any existing policy already attached.

  • servicedirectory.NamespaceIamBinding: 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 namespace are preserved.

  • servicedirectory.NamespaceIamMember: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the namespace are preserved.

Note: servicedirectory.NamespaceIamPolicy cannot be used in conjunction with servicedirectory.NamespaceIamBinding and servicedirectory.NamespaceIamMember or they will fight over what your policy should be.

Note: servicedirectory.NamespaceIamBinding resources can be used in conjunction with servicedirectory.NamespaceIamMember resources only if they do not grant privilege to the same role.

import pulumi
import pulumi_gcp as gcp

admin = gcp.organizations.get_iam_policy(binding=[{
    "role": "roles/viewer",
    "members": ["user:jane@example.com"],
}])
policy = gcp.servicedirectory.NamespaceIamPolicy("policy", policy_data=admin.policy_data)
import pulumi
import pulumi_gcp as gcp

binding = gcp.servicedirectory.NamespaceIamBinding("binding",
    role="roles/viewer",
    members=["user:jane@example.com"])
import pulumi
import pulumi_gcp as gcp

member = gcp.servicedirectory.NamespaceIamMember("member",
    role="roles/viewer",
    member="user:jane@example.com")
Parameters
  • resource_name (str) – The name of the resource.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • name (pulumi.Input[str]) – Used to find the parent resource to bind the IAM policy to

  • role (pulumi.Input[str]) – The role that should be applied. Only one servicedirectory.NamespaceIamBinding can be used per role. Note that custom roles must be of the format [projects|organizations]/{parent-name}/roles/{role-name}.

The condition object supports the following:

  • description (pulumi.Input[str])

  • expression (pulumi.Input[str])

  • title (pulumi.Input[str])

etag: pulumi.Output[str] = None

(Computed) The etag of the IAM policy.

name: pulumi.Output[str] = None

Used to find the parent resource to bind the IAM policy to

role: pulumi.Output[str] = None

The role that should be applied. Only one servicedirectory.NamespaceIamBinding can be used per role. Note that custom roles must be of the format [projects|organizations]/{parent-name}/roles/{role-name}.

static get(resource_name, id, opts=None, condition=None, etag=None, members=None, name=None, role=None)

Get an existing NamespaceIamBinding resource’s state with the given name, id, and optional extra properties used to qualify the lookup.

Parameters
  • resource_name (str) – The unique name of the resulting resource.

  • id (str) – The unique provider ID of the resource to lookup.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • etag (pulumi.Input[str]) – (Computed) The etag of the IAM policy.

  • name (pulumi.Input[str]) – Used to find the parent resource to bind the IAM policy to

  • role (pulumi.Input[str]) – The role that should be applied. Only one servicedirectory.NamespaceIamBinding can be used per role. Note that custom roles must be of the format [projects|organizations]/{parent-name}/roles/{role-name}.

The condition object supports the following:

  • description (pulumi.Input[str])

  • expression (pulumi.Input[str])

  • title (pulumi.Input[str])

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

class pulumi_gcp.servicedirectory.NamespaceIamMember(resource_name, opts=None, condition=None, member=None, name=None, role=None, __props__=None, __name__=None, __opts__=None)

Three different resources help you manage your IAM policy for Service Directory Namespace. Each of these resources serves a different use case:

  • servicedirectory.NamespaceIamPolicy: Authoritative. Sets the IAM policy for the namespace and replaces any existing policy already attached.

  • servicedirectory.NamespaceIamBinding: 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 namespace are preserved.

  • servicedirectory.NamespaceIamMember: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the namespace are preserved.

Note: servicedirectory.NamespaceIamPolicy cannot be used in conjunction with servicedirectory.NamespaceIamBinding and servicedirectory.NamespaceIamMember or they will fight over what your policy should be.

Note: servicedirectory.NamespaceIamBinding resources can be used in conjunction with servicedirectory.NamespaceIamMember resources only if they do not grant privilege to the same role.

import pulumi
import pulumi_gcp as gcp

admin = gcp.organizations.get_iam_policy(binding=[{
    "role": "roles/viewer",
    "members": ["user:jane@example.com"],
}])
policy = gcp.servicedirectory.NamespaceIamPolicy("policy", policy_data=admin.policy_data)
import pulumi
import pulumi_gcp as gcp

binding = gcp.servicedirectory.NamespaceIamBinding("binding",
    role="roles/viewer",
    members=["user:jane@example.com"])
import pulumi
import pulumi_gcp as gcp

member = gcp.servicedirectory.NamespaceIamMember("member",
    role="roles/viewer",
    member="user:jane@example.com")
Parameters
  • resource_name (str) – The name of the resource.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • name (pulumi.Input[str]) – Used to find the parent resource to bind the IAM policy to

  • role (pulumi.Input[str]) – The role that should be applied. Only one servicedirectory.NamespaceIamBinding can be used per role. Note that custom roles must be of the format [projects|organizations]/{parent-name}/roles/{role-name}.

The condition object supports the following:

  • description (pulumi.Input[str])

  • expression (pulumi.Input[str])

  • title (pulumi.Input[str])

etag: pulumi.Output[str] = None

(Computed) The etag of the IAM policy.

name: pulumi.Output[str] = None

Used to find the parent resource to bind the IAM policy to

role: pulumi.Output[str] = None

The role that should be applied. Only one servicedirectory.NamespaceIamBinding can be used per role. Note that custom roles must be of the format [projects|organizations]/{parent-name}/roles/{role-name}.

static get(resource_name, id, opts=None, condition=None, etag=None, member=None, name=None, role=None)

Get an existing NamespaceIamMember resource’s state with the given name, id, and optional extra properties used to qualify the lookup.

Parameters
  • resource_name (str) – The unique name of the resulting resource.

  • id (str) – The unique provider ID of the resource to lookup.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • etag (pulumi.Input[str]) – (Computed) The etag of the IAM policy.

  • name (pulumi.Input[str]) – Used to find the parent resource to bind the IAM policy to

  • role (pulumi.Input[str]) – The role that should be applied. Only one servicedirectory.NamespaceIamBinding can be used per role. Note that custom roles must be of the format [projects|organizations]/{parent-name}/roles/{role-name}.

The condition object supports the following:

  • description (pulumi.Input[str])

  • expression (pulumi.Input[str])

  • title (pulumi.Input[str])

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

class pulumi_gcp.servicedirectory.NamespaceIamPolicy(resource_name, opts=None, name=None, policy_data=None, __props__=None, __name__=None, __opts__=None)

Three different resources help you manage your IAM policy for Service Directory Namespace. Each of these resources serves a different use case:

  • servicedirectory.NamespaceIamPolicy: Authoritative. Sets the IAM policy for the namespace and replaces any existing policy already attached.

  • servicedirectory.NamespaceIamBinding: 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 namespace are preserved.

  • servicedirectory.NamespaceIamMember: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the namespace are preserved.

Note: servicedirectory.NamespaceIamPolicy cannot be used in conjunction with servicedirectory.NamespaceIamBinding and servicedirectory.NamespaceIamMember or they will fight over what your policy should be.

Note: servicedirectory.NamespaceIamBinding resources can be used in conjunction with servicedirectory.NamespaceIamMember resources only if they do not grant privilege to the same role.

import pulumi
import pulumi_gcp as gcp

admin = gcp.organizations.get_iam_policy(binding=[{
    "role": "roles/viewer",
    "members": ["user:jane@example.com"],
}])
policy = gcp.servicedirectory.NamespaceIamPolicy("policy", policy_data=admin.policy_data)
import pulumi
import pulumi_gcp as gcp

binding = gcp.servicedirectory.NamespaceIamBinding("binding",
    role="roles/viewer",
    members=["user:jane@example.com"])
import pulumi
import pulumi_gcp as gcp

member = gcp.servicedirectory.NamespaceIamMember("member",
    role="roles/viewer",
    member="user:jane@example.com")
Parameters
  • resource_name (str) – The name of the resource.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • name (pulumi.Input[str]) – Used to find the parent resource to bind the IAM policy to

  • policy_data (pulumi.Input[str]) – The policy data generated by a organizations.getIAMPolicy data source.

etag: pulumi.Output[str] = None

(Computed) The etag of the IAM policy.

name: pulumi.Output[str] = None

Used to find the parent resource to bind the IAM policy to

policy_data: pulumi.Output[str] = None

The policy data generated by a organizations.getIAMPolicy data source.

static get(resource_name, id, opts=None, etag=None, name=None, policy_data=None)

Get an existing NamespaceIamPolicy resource’s state with the given name, id, and optional extra properties used to qualify the lookup.

Parameters
  • resource_name (str) – The unique name of the resulting resource.

  • id (str) – The unique provider ID of the resource to lookup.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • etag (pulumi.Input[str]) – (Computed) The etag of the IAM policy.

  • name (pulumi.Input[str]) – Used to find the parent resource to bind the IAM policy to

  • policy_data (pulumi.Input[str]) – The policy data generated by a organizations.getIAMPolicy data source.

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

class pulumi_gcp.servicedirectory.Service(resource_name, opts=None, metadata=None, namespace=None, service_id=None, __props__=None, __name__=None, __opts__=None)

An individual service. A service contains a name and optional metadata.

To get more information about Service, see:

import pulumi
import pulumi_gcp as gcp

example_namespace = gcp.servicedirectory.Namespace("exampleNamespace",
    namespace_id="example-namespace",
    location="us-central1")
example_service = gcp.servicedirectory.Service("exampleService",
    service_id="example-service",
    namespace=example_namespace.id,
    metadata={
        "stage": "prod",
        "region": "us-central1",
    })
Parameters
  • resource_name (str) – The name of the resource.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • metadata (pulumi.Input[dict]) – Metadata for the service. This data can be consumed by service clients. The entire metadata dictionary may contain up to 2000 characters, spread across all key-value pairs. Metadata that goes beyond any these limits will be rejected.

  • namespace (pulumi.Input[str]) – The resource name of the namespace this service will belong to.

  • service_id (pulumi.Input[str]) – The Resource ID must be 1-63 characters long, including digits, lowercase letters or the hyphen character.

metadata: pulumi.Output[dict] = None

Metadata for the service. This data can be consumed by service clients. The entire metadata dictionary may contain up to 2000 characters, spread across all key-value pairs. Metadata that goes beyond any these limits will be rejected.

name: pulumi.Output[str] = None

The resource name for the service in the format ‘projects//locations//namespaces//services/’.

namespace: pulumi.Output[str] = None

The resource name of the namespace this service will belong to.

service_id: pulumi.Output[str] = None

The Resource ID must be 1-63 characters long, including digits, lowercase letters or the hyphen character.

static get(resource_name, id, opts=None, metadata=None, name=None, namespace=None, service_id=None)

Get an existing Service resource’s state with the given name, id, and optional extra properties used to qualify the lookup.

Parameters
  • resource_name (str) – The unique name of the resulting resource.

  • id (str) – The unique provider ID of the resource to lookup.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • metadata (pulumi.Input[dict]) – Metadata for the service. This data can be consumed by service clients. The entire metadata dictionary may contain up to 2000 characters, spread across all key-value pairs. Metadata that goes beyond any these limits will be rejected.

  • name (pulumi.Input[str]) – The resource name for the service in the format ‘projects//locations//namespaces//services/’.

  • namespace (pulumi.Input[str]) – The resource name of the namespace this service will belong to.

  • service_id (pulumi.Input[str]) – The Resource ID must be 1-63 characters long, including digits, lowercase letters or the hyphen character.

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

class pulumi_gcp.servicedirectory.ServiceIamBinding(resource_name, opts=None, condition=None, members=None, name=None, role=None, __props__=None, __name__=None, __opts__=None)

Three different resources help you manage your IAM policy for Service Directory Service. Each of these resources serves a different use case:

  • servicedirectory.ServiceIamPolicy: Authoritative. Sets the IAM policy for the service and replaces any existing policy already attached.

  • servicedirectory.ServiceIamBinding: 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 service are preserved.

  • servicedirectory.ServiceIamMember: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the service are preserved.

Note: servicedirectory.ServiceIamPolicy cannot be used in conjunction with servicedirectory.ServiceIamBinding and servicedirectory.ServiceIamMember or they will fight over what your policy should be.

Note: servicedirectory.ServiceIamBinding resources can be used in conjunction with servicedirectory.ServiceIamMember resources only if they do not grant privilege to the same role.

import pulumi
import pulumi_gcp as gcp

admin = gcp.organizations.get_iam_policy(binding=[{
    "role": "roles/viewer",
    "members": ["user:jane@example.com"],
}])
policy = gcp.servicedirectory.ServiceIamPolicy("policy", policy_data=admin.policy_data)
import pulumi
import pulumi_gcp as gcp

binding = gcp.servicedirectory.ServiceIamBinding("binding",
    role="roles/viewer",
    members=["user:jane@example.com"])
import pulumi
import pulumi_gcp as gcp

member = gcp.servicedirectory.ServiceIamMember("member",
    role="roles/viewer",
    member="user:jane@example.com")
Parameters
  • resource_name (str) – The name of the resource.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • name (pulumi.Input[str]) – Used to find the parent resource to bind the IAM policy to

  • role (pulumi.Input[str]) – The role that should be applied. Only one servicedirectory.ServiceIamBinding can be used per role. Note that custom roles must be of the format [projects|organizations]/{parent-name}/roles/{role-name}.

The condition object supports the following:

  • description (pulumi.Input[str])

  • expression (pulumi.Input[str])

  • title (pulumi.Input[str])

etag: pulumi.Output[str] = None

(Computed) The etag of the IAM policy.

name: pulumi.Output[str] = None

Used to find the parent resource to bind the IAM policy to

role: pulumi.Output[str] = None

The role that should be applied. Only one servicedirectory.ServiceIamBinding can be used per role. Note that custom roles must be of the format [projects|organizations]/{parent-name}/roles/{role-name}.

static get(resource_name, id, opts=None, condition=None, etag=None, members=None, name=None, role=None)

Get an existing ServiceIamBinding resource’s state with the given name, id, and optional extra properties used to qualify the lookup.

Parameters
  • resource_name (str) – The unique name of the resulting resource.

  • id (str) – The unique provider ID of the resource to lookup.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • etag (pulumi.Input[str]) – (Computed) The etag of the IAM policy.

  • name (pulumi.Input[str]) – Used to find the parent resource to bind the IAM policy to

  • role (pulumi.Input[str]) – The role that should be applied. Only one servicedirectory.ServiceIamBinding can be used per role. Note that custom roles must be of the format [projects|organizations]/{parent-name}/roles/{role-name}.

The condition object supports the following:

  • description (pulumi.Input[str])

  • expression (pulumi.Input[str])

  • title (pulumi.Input[str])

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

class pulumi_gcp.servicedirectory.ServiceIamMember(resource_name, opts=None, condition=None, member=None, name=None, role=None, __props__=None, __name__=None, __opts__=None)

Three different resources help you manage your IAM policy for Service Directory Service. Each of these resources serves a different use case:

  • servicedirectory.ServiceIamPolicy: Authoritative. Sets the IAM policy for the service and replaces any existing policy already attached.

  • servicedirectory.ServiceIamBinding: 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 service are preserved.

  • servicedirectory.ServiceIamMember: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the service are preserved.

Note: servicedirectory.ServiceIamPolicy cannot be used in conjunction with servicedirectory.ServiceIamBinding and servicedirectory.ServiceIamMember or they will fight over what your policy should be.

Note: servicedirectory.ServiceIamBinding resources can be used in conjunction with servicedirectory.ServiceIamMember resources only if they do not grant privilege to the same role.

import pulumi
import pulumi_gcp as gcp

admin = gcp.organizations.get_iam_policy(binding=[{
    "role": "roles/viewer",
    "members": ["user:jane@example.com"],
}])
policy = gcp.servicedirectory.ServiceIamPolicy("policy", policy_data=admin.policy_data)
import pulumi
import pulumi_gcp as gcp

binding = gcp.servicedirectory.ServiceIamBinding("binding",
    role="roles/viewer",
    members=["user:jane@example.com"])
import pulumi
import pulumi_gcp as gcp

member = gcp.servicedirectory.ServiceIamMember("member",
    role="roles/viewer",
    member="user:jane@example.com")
Parameters
  • resource_name (str) – The name of the resource.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • name (pulumi.Input[str]) – Used to find the parent resource to bind the IAM policy to

  • role (pulumi.Input[str]) – The role that should be applied. Only one servicedirectory.ServiceIamBinding can be used per role. Note that custom roles must be of the format [projects|organizations]/{parent-name}/roles/{role-name}.

The condition object supports the following:

  • description (pulumi.Input[str])

  • expression (pulumi.Input[str])

  • title (pulumi.Input[str])

etag: pulumi.Output[str] = None

(Computed) The etag of the IAM policy.

name: pulumi.Output[str] = None

Used to find the parent resource to bind the IAM policy to

role: pulumi.Output[str] = None

The role that should be applied. Only one servicedirectory.ServiceIamBinding can be used per role. Note that custom roles must be of the format [projects|organizations]/{parent-name}/roles/{role-name}.

static get(resource_name, id, opts=None, condition=None, etag=None, member=None, name=None, role=None)

Get an existing ServiceIamMember resource’s state with the given name, id, and optional extra properties used to qualify the lookup.

Parameters
  • resource_name (str) – The unique name of the resulting resource.

  • id (str) – The unique provider ID of the resource to lookup.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • etag (pulumi.Input[str]) – (Computed) The etag of the IAM policy.

  • name (pulumi.Input[str]) – Used to find the parent resource to bind the IAM policy to

  • role (pulumi.Input[str]) – The role that should be applied. Only one servicedirectory.ServiceIamBinding can be used per role. Note that custom roles must be of the format [projects|organizations]/{parent-name}/roles/{role-name}.

The condition object supports the following:

  • description (pulumi.Input[str])

  • expression (pulumi.Input[str])

  • title (pulumi.Input[str])

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

class pulumi_gcp.servicedirectory.ServiceIamPolicy(resource_name, opts=None, name=None, policy_data=None, __props__=None, __name__=None, __opts__=None)

Three different resources help you manage your IAM policy for Service Directory Service. Each of these resources serves a different use case:

  • servicedirectory.ServiceIamPolicy: Authoritative. Sets the IAM policy for the service and replaces any existing policy already attached.

  • servicedirectory.ServiceIamBinding: 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 service are preserved.

  • servicedirectory.ServiceIamMember: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the service are preserved.

Note: servicedirectory.ServiceIamPolicy cannot be used in conjunction with servicedirectory.ServiceIamBinding and servicedirectory.ServiceIamMember or they will fight over what your policy should be.

Note: servicedirectory.ServiceIamBinding resources can be used in conjunction with servicedirectory.ServiceIamMember resources only if they do not grant privilege to the same role.

import pulumi
import pulumi_gcp as gcp

admin = gcp.organizations.get_iam_policy(binding=[{
    "role": "roles/viewer",
    "members": ["user:jane@example.com"],
}])
policy = gcp.servicedirectory.ServiceIamPolicy("policy", policy_data=admin.policy_data)
import pulumi
import pulumi_gcp as gcp

binding = gcp.servicedirectory.ServiceIamBinding("binding",
    role="roles/viewer",
    members=["user:jane@example.com"])
import pulumi
import pulumi_gcp as gcp

member = gcp.servicedirectory.ServiceIamMember("member",
    role="roles/viewer",
    member="user:jane@example.com")
Parameters
  • resource_name (str) – The name of the resource.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • name (pulumi.Input[str]) – Used to find the parent resource to bind the IAM policy to

  • policy_data (pulumi.Input[str]) – The policy data generated by a organizations.getIAMPolicy data source.

etag: pulumi.Output[str] = None

(Computed) The etag of the IAM policy.

name: pulumi.Output[str] = None

Used to find the parent resource to bind the IAM policy to

policy_data: pulumi.Output[str] = None

The policy data generated by a organizations.getIAMPolicy data source.

static get(resource_name, id, opts=None, etag=None, name=None, policy_data=None)

Get an existing ServiceIamPolicy resource’s state with the given name, id, and optional extra properties used to qualify the lookup.

Parameters
  • resource_name (str) – The unique name of the resulting resource.

  • id (str) – The unique provider ID of the resource to lookup.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • etag (pulumi.Input[str]) – (Computed) The etag of the IAM policy.

  • name (pulumi.Input[str]) – Used to find the parent resource to bind the IAM policy to

  • policy_data (pulumi.Input[str]) – The policy data generated by a organizations.getIAMPolicy data source.

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str