gcp.organizations.AccessApprovalSettings

Explore with Pulumi AI

Access Approval enables you to require your explicit approval whenever Google support and engineering need to access your customer content.

To get more information about OrganizationSettings, see:

Example Usage

Organization Access Approval Full

using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Gcp = Pulumi.Gcp;

return await Deployment.RunAsync(() => 
{
    var organizationAccessApproval = new Gcp.Organizations.AccessApprovalSettings("organizationAccessApproval", new()
    {
        EnrolledServices = new[]
        {
            new Gcp.Organizations.Inputs.AccessApprovalSettingsEnrolledServiceArgs
            {
                CloudProduct = "appengine.googleapis.com",
            },
            new Gcp.Organizations.Inputs.AccessApprovalSettingsEnrolledServiceArgs
            {
                CloudProduct = "dataflow.googleapis.com",
                EnrollmentLevel = "BLOCK_ALL",
            },
        },
        NotificationEmails = new[]
        {
            "testuser@example.com",
            "example.user@example.com",
        },
        OrganizationId = "123456789",
    });

});
package main

import (
	"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/organizations"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := organizations.NewAccessApprovalSettings(ctx, "organizationAccessApproval", &organizations.AccessApprovalSettingsArgs{
			EnrolledServices: organizations.AccessApprovalSettingsEnrolledServiceArray{
				&organizations.AccessApprovalSettingsEnrolledServiceArgs{
					CloudProduct: pulumi.String("appengine.googleapis.com"),
				},
				&organizations.AccessApprovalSettingsEnrolledServiceArgs{
					CloudProduct:    pulumi.String("dataflow.googleapis.com"),
					EnrollmentLevel: pulumi.String("BLOCK_ALL"),
				},
			},
			NotificationEmails: pulumi.StringArray{
				pulumi.String("testuser@example.com"),
				pulumi.String("example.user@example.com"),
			},
			OrganizationId: pulumi.String("123456789"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.organizations.AccessApprovalSettings;
import com.pulumi.gcp.organizations.AccessApprovalSettingsArgs;
import com.pulumi.gcp.organizations.inputs.AccessApprovalSettingsEnrolledServiceArgs;
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 organizationAccessApproval = new AccessApprovalSettings("organizationAccessApproval", AccessApprovalSettingsArgs.builder()        
            .enrolledServices(            
                AccessApprovalSettingsEnrolledServiceArgs.builder()
                    .cloudProduct("appengine.googleapis.com")
                    .build(),
                AccessApprovalSettingsEnrolledServiceArgs.builder()
                    .cloudProduct("dataflow.googleapis.com")
                    .enrollmentLevel("BLOCK_ALL")
                    .build())
            .notificationEmails(            
                "testuser@example.com",
                "example.user@example.com")
            .organizationId("123456789")
            .build());

    }
}
import pulumi
import pulumi_gcp as gcp

organization_access_approval = gcp.organizations.AccessApprovalSettings("organizationAccessApproval",
    enrolled_services=[
        gcp.organizations.AccessApprovalSettingsEnrolledServiceArgs(
            cloud_product="appengine.googleapis.com",
        ),
        gcp.organizations.AccessApprovalSettingsEnrolledServiceArgs(
            cloud_product="dataflow.googleapis.com",
            enrollment_level="BLOCK_ALL",
        ),
    ],
    notification_emails=[
        "testuser@example.com",
        "example.user@example.com",
    ],
    organization_id="123456789")
import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";

const organizationAccessApproval = new gcp.organizations.AccessApprovalSettings("organizationAccessApproval", {
    enrolledServices: [
        {
            cloudProduct: "appengine.googleapis.com",
        },
        {
            cloudProduct: "dataflow.googleapis.com",
            enrollmentLevel: "BLOCK_ALL",
        },
    ],
    notificationEmails: [
        "testuser@example.com",
        "example.user@example.com",
    ],
    organizationId: "123456789",
});
resources:
  organizationAccessApproval:
    type: gcp:organizations:AccessApprovalSettings
    properties:
      enrolledServices:
        - cloudProduct: appengine.googleapis.com
        - cloudProduct: dataflow.googleapis.com
          enrollmentLevel: BLOCK_ALL
      notificationEmails:
        - testuser@example.com
        - example.user@example.com
      organizationId: '123456789'

Organization Access Approval Active Key Version

using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Gcp = Pulumi.Gcp;

return await Deployment.RunAsync(() => 
{
    var myProject = new Gcp.Organizations.Project("myProject", new()
    {
        ProjectId = "your-project-id",
        OrgId = "123456789",
    });

    var keyRing = new Gcp.Kms.KeyRing("keyRing", new()
    {
        Location = "global",
        Project = myProject.ProjectId,
    });

    var cryptoKey = new Gcp.Kms.CryptoKey("cryptoKey", new()
    {
        KeyRing = keyRing.Id,
        Purpose = "ASYMMETRIC_SIGN",
        VersionTemplate = new Gcp.Kms.Inputs.CryptoKeyVersionTemplateArgs
        {
            Algorithm = "EC_SIGN_P384_SHA384",
        },
    });

    var serviceAccount = Gcp.AccessApproval.GetOrganizationServiceAccount.Invoke(new()
    {
        OrganizationId = "123456789",
    });

    var iam = new Gcp.Kms.CryptoKeyIAMMember("iam", new()
    {
        CryptoKeyId = cryptoKey.Id,
        Role = "roles/cloudkms.signerVerifier",
        Member = $"serviceAccount:{serviceAccount.Apply(getOrganizationServiceAccountResult => getOrganizationServiceAccountResult.AccountEmail)}",
    });

    var cryptoKeyVersion = Gcp.Kms.GetKMSCryptoKeyVersion.Invoke(new()
    {
        CryptoKey = cryptoKey.Id,
    });

    var organizationAccessApproval = new Gcp.Organizations.AccessApprovalSettings("organizationAccessApproval", new()
    {
        OrganizationId = "123456789",
        ActiveKeyVersion = cryptoKeyVersion.Apply(getKMSCryptoKeyVersionResult => getKMSCryptoKeyVersionResult.Name),
        EnrolledServices = new[]
        {
            new Gcp.Organizations.Inputs.AccessApprovalSettingsEnrolledServiceArgs
            {
                CloudProduct = "all",
            },
        },
    }, new CustomResourceOptions
    {
        DependsOn = new[]
        {
            iam,
        },
    });

});
package main

import (
	"fmt"

	"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/accessapproval"
	"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/kms"
	"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/organizations"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		myProject, err := organizations.NewProject(ctx, "myProject", &organizations.ProjectArgs{
			ProjectId: pulumi.String("your-project-id"),
			OrgId:     pulumi.String("123456789"),
		})
		if err != nil {
			return err
		}
		keyRing, err := kms.NewKeyRing(ctx, "keyRing", &kms.KeyRingArgs{
			Location: pulumi.String("global"),
			Project:  myProject.ProjectId,
		})
		if err != nil {
			return err
		}
		cryptoKey, err := kms.NewCryptoKey(ctx, "cryptoKey", &kms.CryptoKeyArgs{
			KeyRing: keyRing.ID(),
			Purpose: pulumi.String("ASYMMETRIC_SIGN"),
			VersionTemplate: &kms.CryptoKeyVersionTemplateArgs{
				Algorithm: pulumi.String("EC_SIGN_P384_SHA384"),
			},
		})
		if err != nil {
			return err
		}
		serviceAccount, err := accessapproval.GetOrganizationServiceAccount(ctx, &accessapproval.GetOrganizationServiceAccountArgs{
			OrganizationId: "123456789",
		}, nil)
		if err != nil {
			return err
		}
		iam, err := kms.NewCryptoKeyIAMMember(ctx, "iam", &kms.CryptoKeyIAMMemberArgs{
			CryptoKeyId: cryptoKey.ID(),
			Role:        pulumi.String("roles/cloudkms.signerVerifier"),
			Member:      pulumi.String(fmt.Sprintf("serviceAccount:%v", serviceAccount.AccountEmail)),
		})
		if err != nil {
			return err
		}
		cryptoKeyVersion := kms.GetKMSCryptoKeyVersionOutput(ctx, kms.GetKMSCryptoKeyVersionOutputArgs{
			CryptoKey: cryptoKey.ID(),
		}, nil)
		_, err = organizations.NewAccessApprovalSettings(ctx, "organizationAccessApproval", &organizations.AccessApprovalSettingsArgs{
			OrganizationId: pulumi.String("123456789"),
			ActiveKeyVersion: cryptoKeyVersion.ApplyT(func(cryptoKeyVersion kms.GetKMSCryptoKeyVersionResult) (*string, error) {
				return &cryptoKeyVersion.Name, nil
			}).(pulumi.StringPtrOutput),
			EnrolledServices: organizations.AccessApprovalSettingsEnrolledServiceArray{
				&organizations.AccessApprovalSettingsEnrolledServiceArgs{
					CloudProduct: pulumi.String("all"),
				},
			},
		}, pulumi.DependsOn([]pulumi.Resource{
			iam,
		}))
		if err != nil {
			return err
		}
		return nil
	})
}
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.organizations.Project;
import com.pulumi.gcp.organizations.ProjectArgs;
import com.pulumi.gcp.kms.KeyRing;
import com.pulumi.gcp.kms.KeyRingArgs;
import com.pulumi.gcp.kms.CryptoKey;
import com.pulumi.gcp.kms.CryptoKeyArgs;
import com.pulumi.gcp.kms.inputs.CryptoKeyVersionTemplateArgs;
import com.pulumi.gcp.accessapproval.AccessapprovalFunctions;
import com.pulumi.gcp.accessapproval.inputs.GetOrganizationServiceAccountArgs;
import com.pulumi.gcp.kms.CryptoKeyIAMMember;
import com.pulumi.gcp.kms.CryptoKeyIAMMemberArgs;
import com.pulumi.gcp.kms.KmsFunctions;
import com.pulumi.gcp.kms.inputs.GetKMSCryptoKeyVersionArgs;
import com.pulumi.gcp.organizations.AccessApprovalSettings;
import com.pulumi.gcp.organizations.AccessApprovalSettingsArgs;
import com.pulumi.gcp.organizations.inputs.AccessApprovalSettingsEnrolledServiceArgs;
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 myProject = new Project("myProject", ProjectArgs.builder()        
            .projectId("your-project-id")
            .orgId("123456789")
            .build());

        var keyRing = new KeyRing("keyRing", KeyRingArgs.builder()        
            .location("global")
            .project(myProject.projectId())
            .build());

        var cryptoKey = new CryptoKey("cryptoKey", CryptoKeyArgs.builder()        
            .keyRing(keyRing.id())
            .purpose("ASYMMETRIC_SIGN")
            .versionTemplate(CryptoKeyVersionTemplateArgs.builder()
                .algorithm("EC_SIGN_P384_SHA384")
                .build())
            .build());

        final var serviceAccount = AccessapprovalFunctions.getOrganizationServiceAccount(GetOrganizationServiceAccountArgs.builder()
            .organizationId("123456789")
            .build());

        var iam = new CryptoKeyIAMMember("iam", CryptoKeyIAMMemberArgs.builder()        
            .cryptoKeyId(cryptoKey.id())
            .role("roles/cloudkms.signerVerifier")
            .member(String.format("serviceAccount:%s", serviceAccount.applyValue(getOrganizationServiceAccountResult -> getOrganizationServiceAccountResult.accountEmail())))
            .build());

        final var cryptoKeyVersion = KmsFunctions.getKMSCryptoKeyVersion(GetKMSCryptoKeyVersionArgs.builder()
            .cryptoKey(cryptoKey.id())
            .build());

        var organizationAccessApproval = new AccessApprovalSettings("organizationAccessApproval", AccessApprovalSettingsArgs.builder()        
            .organizationId("123456789")
            .activeKeyVersion(cryptoKeyVersion.applyValue(getKMSCryptoKeyVersionResult -> getKMSCryptoKeyVersionResult).applyValue(cryptoKeyVersion -> cryptoKeyVersion.applyValue(getKMSCryptoKeyVersionResult -> getKMSCryptoKeyVersionResult.name())))
            .enrolledServices(AccessApprovalSettingsEnrolledServiceArgs.builder()
                .cloudProduct("all")
                .build())
            .build(), CustomResourceOptions.builder()
                .dependsOn(iam)
                .build());

    }
}
import pulumi
import pulumi_gcp as gcp

my_project = gcp.organizations.Project("myProject",
    project_id="your-project-id",
    org_id="123456789")
key_ring = gcp.kms.KeyRing("keyRing",
    location="global",
    project=my_project.project_id)
crypto_key = gcp.kms.CryptoKey("cryptoKey",
    key_ring=key_ring.id,
    purpose="ASYMMETRIC_SIGN",
    version_template=gcp.kms.CryptoKeyVersionTemplateArgs(
        algorithm="EC_SIGN_P384_SHA384",
    ))
service_account = gcp.accessapproval.get_organization_service_account(organization_id="123456789")
iam = gcp.kms.CryptoKeyIAMMember("iam",
    crypto_key_id=crypto_key.id,
    role="roles/cloudkms.signerVerifier",
    member=f"serviceAccount:{service_account.account_email}")
crypto_key_version = gcp.kms.get_kms_crypto_key_version_output(crypto_key=crypto_key.id)
organization_access_approval = gcp.organizations.AccessApprovalSettings("organizationAccessApproval",
    organization_id="123456789",
    active_key_version=crypto_key_version.name,
    enrolled_services=[gcp.organizations.AccessApprovalSettingsEnrolledServiceArgs(
        cloud_product="all",
    )],
    opts=pulumi.ResourceOptions(depends_on=[iam]))
import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";

const myProject = new gcp.organizations.Project("myProject", {
    projectId: "your-project-id",
    orgId: "123456789",
});
const keyRing = new gcp.kms.KeyRing("keyRing", {
    location: "global",
    project: myProject.projectId,
});
const cryptoKey = new gcp.kms.CryptoKey("cryptoKey", {
    keyRing: keyRing.id,
    purpose: "ASYMMETRIC_SIGN",
    versionTemplate: {
        algorithm: "EC_SIGN_P384_SHA384",
    },
});
const serviceAccount = gcp.accessapproval.getOrganizationServiceAccount({
    organizationId: "123456789",
});
const iam = new gcp.kms.CryptoKeyIAMMember("iam", {
    cryptoKeyId: cryptoKey.id,
    role: "roles/cloudkms.signerVerifier",
    member: serviceAccount.then(serviceAccount => `serviceAccount:${serviceAccount.accountEmail}`),
});
const cryptoKeyVersion = gcp.kms.getKMSCryptoKeyVersionOutput({
    cryptoKey: cryptoKey.id,
});
const organizationAccessApproval = new gcp.organizations.AccessApprovalSettings("organizationAccessApproval", {
    organizationId: "123456789",
    activeKeyVersion: cryptoKeyVersion.apply(cryptoKeyVersion => cryptoKeyVersion.name),
    enrolledServices: [{
        cloudProduct: "all",
    }],
}, {
    dependsOn: [iam],
});
resources:
  myProject:
    type: gcp:organizations:Project
    properties:
      projectId: your-project-id
      orgId: '123456789'
  keyRing:
    type: gcp:kms:KeyRing
    properties:
      location: global
      project: ${myProject.projectId}
  cryptoKey:
    type: gcp:kms:CryptoKey
    properties:
      keyRing: ${keyRing.id}
      purpose: ASYMMETRIC_SIGN
      versionTemplate:
        algorithm: EC_SIGN_P384_SHA384
  iam:
    type: gcp:kms:CryptoKeyIAMMember
    properties:
      cryptoKeyId: ${cryptoKey.id}
      role: roles/cloudkms.signerVerifier
      member: serviceAccount:${serviceAccount.accountEmail}
  organizationAccessApproval:
    type: gcp:organizations:AccessApprovalSettings
    properties:
      organizationId: '123456789'
      activeKeyVersion: ${cryptoKeyVersion.name}
      enrolledServices:
        - cloudProduct: all
    options:
      dependson:
        - ${iam}
variables:
  serviceAccount:
    fn::invoke:
      Function: gcp:accessapproval:getOrganizationServiceAccount
      Arguments:
        organizationId: '123456789'
  cryptoKeyVersion:
    fn::invoke:
      Function: gcp:kms:getKMSCryptoKeyVersion
      Arguments:
        cryptoKey: ${cryptoKey.id}

Create AccessApprovalSettings Resource

new AccessApprovalSettings(name: string, args: AccessApprovalSettingsArgs, opts?: CustomResourceOptions);
@overload
def AccessApprovalSettings(resource_name: str,
                           opts: Optional[ResourceOptions] = None,
                           active_key_version: Optional[str] = None,
                           enrolled_services: Optional[Sequence[AccessApprovalSettingsEnrolledServiceArgs]] = None,
                           notification_emails: Optional[Sequence[str]] = None,
                           organization_id: Optional[str] = None)
@overload
def AccessApprovalSettings(resource_name: str,
                           args: AccessApprovalSettingsArgs,
                           opts: Optional[ResourceOptions] = None)
func NewAccessApprovalSettings(ctx *Context, name string, args AccessApprovalSettingsArgs, opts ...ResourceOption) (*AccessApprovalSettings, error)
public AccessApprovalSettings(string name, AccessApprovalSettingsArgs args, CustomResourceOptions? opts = null)
public AccessApprovalSettings(String name, AccessApprovalSettingsArgs args)
public AccessApprovalSettings(String name, AccessApprovalSettingsArgs args, CustomResourceOptions options)
type: gcp:organizations:AccessApprovalSettings
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.

name string
The unique name of the resource.
args AccessApprovalSettingsArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
resource_name str
The unique name of the resource.
args AccessApprovalSettingsArgs
The arguments to resource properties.
opts ResourceOptions
Bag of options to control resource's behavior.
ctx Context
Context object for the current deployment.
name string
The unique name of the resource.
args AccessApprovalSettingsArgs
The arguments to resource properties.
opts ResourceOption
Bag of options to control resource's behavior.
name string
The unique name of the resource.
args AccessApprovalSettingsArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
name String
The unique name of the resource.
args AccessApprovalSettingsArgs
The arguments to resource properties.
options CustomResourceOptions
Bag of options to control resource's behavior.

AccessApprovalSettings Resource Properties

To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

Inputs

The AccessApprovalSettings resource accepts the following input properties:

EnrolledServices List<AccessApprovalSettingsEnrolledServiceArgs>

A list of Google Cloud Services for which the given resource has Access Approval enrolled. Access requests for the resource given by name against any of these services contained here will be required to have explicit approval. Enrollment can be done for individual services. A maximum of 10 enrolled services will be enforced, to be expanded as the set of supported services is expanded. Structure is documented below.

OrganizationId string

ID of the organization of the access approval settings.

ActiveKeyVersion string

The asymmetric crypto key version to use for signing approval requests. Empty active_key_version indicates that a Google-managed key should be used for signing.

NotificationEmails List<string>

A list of email addresses to which notifications relating to approval requests should be sent. Notifications relating to a resource will be sent to all emails in the settings of ancestor resources of that resource. A maximum of 50 email addresses are allowed.

EnrolledServices []AccessApprovalSettingsEnrolledServiceArgs

A list of Google Cloud Services for which the given resource has Access Approval enrolled. Access requests for the resource given by name against any of these services contained here will be required to have explicit approval. Enrollment can be done for individual services. A maximum of 10 enrolled services will be enforced, to be expanded as the set of supported services is expanded. Structure is documented below.

OrganizationId string

ID of the organization of the access approval settings.

ActiveKeyVersion string

The asymmetric crypto key version to use for signing approval requests. Empty active_key_version indicates that a Google-managed key should be used for signing.

NotificationEmails []string

A list of email addresses to which notifications relating to approval requests should be sent. Notifications relating to a resource will be sent to all emails in the settings of ancestor resources of that resource. A maximum of 50 email addresses are allowed.

enrolledServices List<AccessApprovalSettingsEnrolledServiceArgs>

A list of Google Cloud Services for which the given resource has Access Approval enrolled. Access requests for the resource given by name against any of these services contained here will be required to have explicit approval. Enrollment can be done for individual services. A maximum of 10 enrolled services will be enforced, to be expanded as the set of supported services is expanded. Structure is documented below.

organizationId String

ID of the organization of the access approval settings.

activeKeyVersion String

The asymmetric crypto key version to use for signing approval requests. Empty active_key_version indicates that a Google-managed key should be used for signing.

notificationEmails List<String>

A list of email addresses to which notifications relating to approval requests should be sent. Notifications relating to a resource will be sent to all emails in the settings of ancestor resources of that resource. A maximum of 50 email addresses are allowed.

enrolledServices AccessApprovalSettingsEnrolledServiceArgs[]

A list of Google Cloud Services for which the given resource has Access Approval enrolled. Access requests for the resource given by name against any of these services contained here will be required to have explicit approval. Enrollment can be done for individual services. A maximum of 10 enrolled services will be enforced, to be expanded as the set of supported services is expanded. Structure is documented below.

organizationId string

ID of the organization of the access approval settings.

activeKeyVersion string

The asymmetric crypto key version to use for signing approval requests. Empty active_key_version indicates that a Google-managed key should be used for signing.

notificationEmails string[]

A list of email addresses to which notifications relating to approval requests should be sent. Notifications relating to a resource will be sent to all emails in the settings of ancestor resources of that resource. A maximum of 50 email addresses are allowed.

enrolled_services Sequence[AccessApprovalSettingsEnrolledServiceArgs]

A list of Google Cloud Services for which the given resource has Access Approval enrolled. Access requests for the resource given by name against any of these services contained here will be required to have explicit approval. Enrollment can be done for individual services. A maximum of 10 enrolled services will be enforced, to be expanded as the set of supported services is expanded. Structure is documented below.

organization_id str

ID of the organization of the access approval settings.

active_key_version str

The asymmetric crypto key version to use for signing approval requests. Empty active_key_version indicates that a Google-managed key should be used for signing.

notification_emails Sequence[str]

A list of email addresses to which notifications relating to approval requests should be sent. Notifications relating to a resource will be sent to all emails in the settings of ancestor resources of that resource. A maximum of 50 email addresses are allowed.

enrolledServices List<Property Map>

A list of Google Cloud Services for which the given resource has Access Approval enrolled. Access requests for the resource given by name against any of these services contained here will be required to have explicit approval. Enrollment can be done for individual services. A maximum of 10 enrolled services will be enforced, to be expanded as the set of supported services is expanded. Structure is documented below.

organizationId String

ID of the organization of the access approval settings.

activeKeyVersion String

The asymmetric crypto key version to use for signing approval requests. Empty active_key_version indicates that a Google-managed key should be used for signing.

notificationEmails List<String>

A list of email addresses to which notifications relating to approval requests should be sent. Notifications relating to a resource will be sent to all emails in the settings of ancestor resources of that resource. A maximum of 50 email addresses are allowed.

Outputs

All input properties are implicitly available as output properties. Additionally, the AccessApprovalSettings resource produces the following output properties:

AncestorHasActiveKeyVersion bool

This field will always be unset for the organization since organizations do not have ancestors.

EnrolledAncestor bool

This field will always be unset for the organization since organizations do not have ancestors.

Id string

The provider-assigned unique ID for this managed resource.

InvalidKeyVersion bool

If the field is true, that indicates that there is some configuration issue with the active_key_version configured on this Organization (e.g. it doesn't exist or the Access Approval service account doesn't have the correct permissions on it, etc.).

Name string

The resource name of the settings. Format is "organizations/{organization_id}/accessApprovalSettings"

AncestorHasActiveKeyVersion bool

This field will always be unset for the organization since organizations do not have ancestors.

EnrolledAncestor bool

This field will always be unset for the organization since organizations do not have ancestors.

Id string

The provider-assigned unique ID for this managed resource.

InvalidKeyVersion bool

If the field is true, that indicates that there is some configuration issue with the active_key_version configured on this Organization (e.g. it doesn't exist or the Access Approval service account doesn't have the correct permissions on it, etc.).

Name string

The resource name of the settings. Format is "organizations/{organization_id}/accessApprovalSettings"

ancestorHasActiveKeyVersion Boolean

This field will always be unset for the organization since organizations do not have ancestors.

enrolledAncestor Boolean

This field will always be unset for the organization since organizations do not have ancestors.

id String

The provider-assigned unique ID for this managed resource.

invalidKeyVersion Boolean

If the field is true, that indicates that there is some configuration issue with the active_key_version configured on this Organization (e.g. it doesn't exist or the Access Approval service account doesn't have the correct permissions on it, etc.).

name String

The resource name of the settings. Format is "organizations/{organization_id}/accessApprovalSettings"

ancestorHasActiveKeyVersion boolean

This field will always be unset for the organization since organizations do not have ancestors.

enrolledAncestor boolean

This field will always be unset for the organization since organizations do not have ancestors.

id string

The provider-assigned unique ID for this managed resource.

invalidKeyVersion boolean

If the field is true, that indicates that there is some configuration issue with the active_key_version configured on this Organization (e.g. it doesn't exist or the Access Approval service account doesn't have the correct permissions on it, etc.).

name string

The resource name of the settings. Format is "organizations/{organization_id}/accessApprovalSettings"

ancestor_has_active_key_version bool

This field will always be unset for the organization since organizations do not have ancestors.

enrolled_ancestor bool

This field will always be unset for the organization since organizations do not have ancestors.

id str

The provider-assigned unique ID for this managed resource.

invalid_key_version bool

If the field is true, that indicates that there is some configuration issue with the active_key_version configured on this Organization (e.g. it doesn't exist or the Access Approval service account doesn't have the correct permissions on it, etc.).

name str

The resource name of the settings. Format is "organizations/{organization_id}/accessApprovalSettings"

ancestorHasActiveKeyVersion Boolean

This field will always be unset for the organization since organizations do not have ancestors.

enrolledAncestor Boolean

This field will always be unset for the organization since organizations do not have ancestors.

id String

The provider-assigned unique ID for this managed resource.

invalidKeyVersion Boolean

If the field is true, that indicates that there is some configuration issue with the active_key_version configured on this Organization (e.g. it doesn't exist or the Access Approval service account doesn't have the correct permissions on it, etc.).

name String

The resource name of the settings. Format is "organizations/{organization_id}/accessApprovalSettings"

Look up Existing AccessApprovalSettings Resource

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

public static get(name: string, id: Input<ID>, state?: AccessApprovalSettingsState, opts?: CustomResourceOptions): AccessApprovalSettings
@staticmethod
def get(resource_name: str,
        id: str,
        opts: Optional[ResourceOptions] = None,
        active_key_version: Optional[str] = None,
        ancestor_has_active_key_version: Optional[bool] = None,
        enrolled_ancestor: Optional[bool] = None,
        enrolled_services: Optional[Sequence[AccessApprovalSettingsEnrolledServiceArgs]] = None,
        invalid_key_version: Optional[bool] = None,
        name: Optional[str] = None,
        notification_emails: Optional[Sequence[str]] = None,
        organization_id: Optional[str] = None) -> AccessApprovalSettings
func GetAccessApprovalSettings(ctx *Context, name string, id IDInput, state *AccessApprovalSettingsState, opts ...ResourceOption) (*AccessApprovalSettings, error)
public static AccessApprovalSettings Get(string name, Input<string> id, AccessApprovalSettingsState? state, CustomResourceOptions? opts = null)
public static AccessApprovalSettings get(String name, Output<String> id, AccessApprovalSettingsState state, CustomResourceOptions options)
Resource lookup is not supported in YAML
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
resource_name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
The following state arguments are supported:
ActiveKeyVersion string

The asymmetric crypto key version to use for signing approval requests. Empty active_key_version indicates that a Google-managed key should be used for signing.

AncestorHasActiveKeyVersion bool

This field will always be unset for the organization since organizations do not have ancestors.

EnrolledAncestor bool

This field will always be unset for the organization since organizations do not have ancestors.

EnrolledServices List<AccessApprovalSettingsEnrolledServiceArgs>

A list of Google Cloud Services for which the given resource has Access Approval enrolled. Access requests for the resource given by name against any of these services contained here will be required to have explicit approval. Enrollment can be done for individual services. A maximum of 10 enrolled services will be enforced, to be expanded as the set of supported services is expanded. Structure is documented below.

InvalidKeyVersion bool

If the field is true, that indicates that there is some configuration issue with the active_key_version configured on this Organization (e.g. it doesn't exist or the Access Approval service account doesn't have the correct permissions on it, etc.).

Name string

The resource name of the settings. Format is "organizations/{organization_id}/accessApprovalSettings"

NotificationEmails List<string>

A list of email addresses to which notifications relating to approval requests should be sent. Notifications relating to a resource will be sent to all emails in the settings of ancestor resources of that resource. A maximum of 50 email addresses are allowed.

OrganizationId string

ID of the organization of the access approval settings.

ActiveKeyVersion string

The asymmetric crypto key version to use for signing approval requests. Empty active_key_version indicates that a Google-managed key should be used for signing.

AncestorHasActiveKeyVersion bool

This field will always be unset for the organization since organizations do not have ancestors.

EnrolledAncestor bool

This field will always be unset for the organization since organizations do not have ancestors.

EnrolledServices []AccessApprovalSettingsEnrolledServiceArgs

A list of Google Cloud Services for which the given resource has Access Approval enrolled. Access requests for the resource given by name against any of these services contained here will be required to have explicit approval. Enrollment can be done for individual services. A maximum of 10 enrolled services will be enforced, to be expanded as the set of supported services is expanded. Structure is documented below.

InvalidKeyVersion bool

If the field is true, that indicates that there is some configuration issue with the active_key_version configured on this Organization (e.g. it doesn't exist or the Access Approval service account doesn't have the correct permissions on it, etc.).

Name string

The resource name of the settings. Format is "organizations/{organization_id}/accessApprovalSettings"

NotificationEmails []string

A list of email addresses to which notifications relating to approval requests should be sent. Notifications relating to a resource will be sent to all emails in the settings of ancestor resources of that resource. A maximum of 50 email addresses are allowed.

OrganizationId string

ID of the organization of the access approval settings.

activeKeyVersion String

The asymmetric crypto key version to use for signing approval requests. Empty active_key_version indicates that a Google-managed key should be used for signing.

ancestorHasActiveKeyVersion Boolean

This field will always be unset for the organization since organizations do not have ancestors.

enrolledAncestor Boolean

This field will always be unset for the organization since organizations do not have ancestors.

enrolledServices List<AccessApprovalSettingsEnrolledServiceArgs>

A list of Google Cloud Services for which the given resource has Access Approval enrolled. Access requests for the resource given by name against any of these services contained here will be required to have explicit approval. Enrollment can be done for individual services. A maximum of 10 enrolled services will be enforced, to be expanded as the set of supported services is expanded. Structure is documented below.

invalidKeyVersion Boolean

If the field is true, that indicates that there is some configuration issue with the active_key_version configured on this Organization (e.g. it doesn't exist or the Access Approval service account doesn't have the correct permissions on it, etc.).

name String

The resource name of the settings. Format is "organizations/{organization_id}/accessApprovalSettings"

notificationEmails List<String>

A list of email addresses to which notifications relating to approval requests should be sent. Notifications relating to a resource will be sent to all emails in the settings of ancestor resources of that resource. A maximum of 50 email addresses are allowed.

organizationId String

ID of the organization of the access approval settings.

activeKeyVersion string

The asymmetric crypto key version to use for signing approval requests. Empty active_key_version indicates that a Google-managed key should be used for signing.

ancestorHasActiveKeyVersion boolean

This field will always be unset for the organization since organizations do not have ancestors.

enrolledAncestor boolean

This field will always be unset for the organization since organizations do not have ancestors.

enrolledServices AccessApprovalSettingsEnrolledServiceArgs[]

A list of Google Cloud Services for which the given resource has Access Approval enrolled. Access requests for the resource given by name against any of these services contained here will be required to have explicit approval. Enrollment can be done for individual services. A maximum of 10 enrolled services will be enforced, to be expanded as the set of supported services is expanded. Structure is documented below.

invalidKeyVersion boolean

If the field is true, that indicates that there is some configuration issue with the active_key_version configured on this Organization (e.g. it doesn't exist or the Access Approval service account doesn't have the correct permissions on it, etc.).

name string

The resource name of the settings. Format is "organizations/{organization_id}/accessApprovalSettings"

notificationEmails string[]

A list of email addresses to which notifications relating to approval requests should be sent. Notifications relating to a resource will be sent to all emails in the settings of ancestor resources of that resource. A maximum of 50 email addresses are allowed.

organizationId string

ID of the organization of the access approval settings.

active_key_version str

The asymmetric crypto key version to use for signing approval requests. Empty active_key_version indicates that a Google-managed key should be used for signing.

ancestor_has_active_key_version bool

This field will always be unset for the organization since organizations do not have ancestors.

enrolled_ancestor bool

This field will always be unset for the organization since organizations do not have ancestors.

enrolled_services Sequence[AccessApprovalSettingsEnrolledServiceArgs]

A list of Google Cloud Services for which the given resource has Access Approval enrolled. Access requests for the resource given by name against any of these services contained here will be required to have explicit approval. Enrollment can be done for individual services. A maximum of 10 enrolled services will be enforced, to be expanded as the set of supported services is expanded. Structure is documented below.

invalid_key_version bool

If the field is true, that indicates that there is some configuration issue with the active_key_version configured on this Organization (e.g. it doesn't exist or the Access Approval service account doesn't have the correct permissions on it, etc.).

name str

The resource name of the settings. Format is "organizations/{organization_id}/accessApprovalSettings"

notification_emails Sequence[str]

A list of email addresses to which notifications relating to approval requests should be sent. Notifications relating to a resource will be sent to all emails in the settings of ancestor resources of that resource. A maximum of 50 email addresses are allowed.

organization_id str

ID of the organization of the access approval settings.

activeKeyVersion String

The asymmetric crypto key version to use for signing approval requests. Empty active_key_version indicates that a Google-managed key should be used for signing.

ancestorHasActiveKeyVersion Boolean

This field will always be unset for the organization since organizations do not have ancestors.

enrolledAncestor Boolean

This field will always be unset for the organization since organizations do not have ancestors.

enrolledServices List<Property Map>

A list of Google Cloud Services for which the given resource has Access Approval enrolled. Access requests for the resource given by name against any of these services contained here will be required to have explicit approval. Enrollment can be done for individual services. A maximum of 10 enrolled services will be enforced, to be expanded as the set of supported services is expanded. Structure is documented below.

invalidKeyVersion Boolean

If the field is true, that indicates that there is some configuration issue with the active_key_version configured on this Organization (e.g. it doesn't exist or the Access Approval service account doesn't have the correct permissions on it, etc.).

name String

The resource name of the settings. Format is "organizations/{organization_id}/accessApprovalSettings"

notificationEmails List<String>

A list of email addresses to which notifications relating to approval requests should be sent. Notifications relating to a resource will be sent to all emails in the settings of ancestor resources of that resource. A maximum of 50 email addresses are allowed.

organizationId String

ID of the organization of the access approval settings.

Supporting Types

AccessApprovalSettingsEnrolledService

CloudProduct string

The product for which Access Approval will be enrolled. Allowed values are listed (case-sensitive): all appengine.googleapis.com bigquery.googleapis.com bigtable.googleapis.com cloudkms.googleapis.com compute.googleapis.com dataflow.googleapis.com iam.googleapis.com pubsub.googleapis.com storage.googleapis.com

EnrollmentLevel string

The enrollment level of the service. Default value is BLOCK_ALL. Possible values are: BLOCK_ALL.

CloudProduct string

The product for which Access Approval will be enrolled. Allowed values are listed (case-sensitive): all appengine.googleapis.com bigquery.googleapis.com bigtable.googleapis.com cloudkms.googleapis.com compute.googleapis.com dataflow.googleapis.com iam.googleapis.com pubsub.googleapis.com storage.googleapis.com

EnrollmentLevel string

The enrollment level of the service. Default value is BLOCK_ALL. Possible values are: BLOCK_ALL.

cloudProduct String

The product for which Access Approval will be enrolled. Allowed values are listed (case-sensitive): all appengine.googleapis.com bigquery.googleapis.com bigtable.googleapis.com cloudkms.googleapis.com compute.googleapis.com dataflow.googleapis.com iam.googleapis.com pubsub.googleapis.com storage.googleapis.com

enrollmentLevel String

The enrollment level of the service. Default value is BLOCK_ALL. Possible values are: BLOCK_ALL.

cloudProduct string

The product for which Access Approval will be enrolled. Allowed values are listed (case-sensitive): all appengine.googleapis.com bigquery.googleapis.com bigtable.googleapis.com cloudkms.googleapis.com compute.googleapis.com dataflow.googleapis.com iam.googleapis.com pubsub.googleapis.com storage.googleapis.com

enrollmentLevel string

The enrollment level of the service. Default value is BLOCK_ALL. Possible values are: BLOCK_ALL.

cloud_product str

The product for which Access Approval will be enrolled. Allowed values are listed (case-sensitive): all appengine.googleapis.com bigquery.googleapis.com bigtable.googleapis.com cloudkms.googleapis.com compute.googleapis.com dataflow.googleapis.com iam.googleapis.com pubsub.googleapis.com storage.googleapis.com

enrollment_level str

The enrollment level of the service. Default value is BLOCK_ALL. Possible values are: BLOCK_ALL.

cloudProduct String

The product for which Access Approval will be enrolled. Allowed values are listed (case-sensitive): all appengine.googleapis.com bigquery.googleapis.com bigtable.googleapis.com cloudkms.googleapis.com compute.googleapis.com dataflow.googleapis.com iam.googleapis.com pubsub.googleapis.com storage.googleapis.com

enrollmentLevel String

The enrollment level of the service. Default value is BLOCK_ALL. Possible values are: BLOCK_ALL.

Import

OrganizationSettings can be imported using any of these accepted formats

 $ pulumi import gcp:organizations/accessApprovalSettings:AccessApprovalSettings default organizations/{{organization_id}}/accessApprovalSettings
 $ pulumi import gcp:organizations/accessApprovalSettings:AccessApprovalSettings default {{organization_id}}

Package Details

Repository
Google Cloud (GCP) Classic pulumi/pulumi-gcp
License
Apache-2.0
Notes

This Pulumi package is based on the google-beta Terraform Provider.