organizations

package
v4.21.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 13, 2021 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AccessApprovalSettings

type AccessApprovalSettings struct {
	pulumi.CustomResourceState

	// This field will always be unset for the organization since organizations do not have ancestors.
	EnrolledAncestor pulumi.BoolOutput `pulumi:"enrolledAncestor"`
	// 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.
	EnrolledServices AccessApprovalSettingsEnrolledServiceArrayOutput `pulumi:"enrolledServices"`
	// The resource name of the settings. Format is "organizations/{organization_id}/accessApprovalSettings"
	Name pulumi.StringOutput `pulumi:"name"`
	// 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.
	NotificationEmails pulumi.StringArrayOutput `pulumi:"notificationEmails"`
	// ID of the organization of the access approval settings.
	OrganizationId pulumi.StringOutput `pulumi:"organizationId"`
}

func GetAccessApprovalSettings

func GetAccessApprovalSettings(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *AccessApprovalSettingsState, opts ...pulumi.ResourceOption) (*AccessApprovalSettings, error)

GetAccessApprovalSettings gets an existing AccessApprovalSettings resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewAccessApprovalSettings

func NewAccessApprovalSettings(ctx *pulumi.Context,
	name string, args *AccessApprovalSettingsArgs, opts ...pulumi.ResourceOption) (*AccessApprovalSettings, error)

NewAccessApprovalSettings registers a new resource with the given unique name, arguments, and options.

func (*AccessApprovalSettings) ElementType added in v4.4.0

func (*AccessApprovalSettings) ElementType() reflect.Type

func (*AccessApprovalSettings) ToAccessApprovalSettingsOutput added in v4.4.0

func (i *AccessApprovalSettings) ToAccessApprovalSettingsOutput() AccessApprovalSettingsOutput

func (*AccessApprovalSettings) ToAccessApprovalSettingsOutputWithContext added in v4.4.0

func (i *AccessApprovalSettings) ToAccessApprovalSettingsOutputWithContext(ctx context.Context) AccessApprovalSettingsOutput

func (*AccessApprovalSettings) ToAccessApprovalSettingsPtrOutput added in v4.11.1

func (i *AccessApprovalSettings) ToAccessApprovalSettingsPtrOutput() AccessApprovalSettingsPtrOutput

func (*AccessApprovalSettings) ToAccessApprovalSettingsPtrOutputWithContext added in v4.11.1

func (i *AccessApprovalSettings) ToAccessApprovalSettingsPtrOutputWithContext(ctx context.Context) AccessApprovalSettingsPtrOutput

type AccessApprovalSettingsArgs

type AccessApprovalSettingsArgs struct {
	// 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.
	EnrolledServices AccessApprovalSettingsEnrolledServiceArrayInput
	// 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.
	NotificationEmails pulumi.StringArrayInput
	// ID of the organization of the access approval settings.
	OrganizationId pulumi.StringInput
}

The set of arguments for constructing a AccessApprovalSettings resource.

func (AccessApprovalSettingsArgs) ElementType

func (AccessApprovalSettingsArgs) ElementType() reflect.Type

type AccessApprovalSettingsArray added in v4.11.1

type AccessApprovalSettingsArray []AccessApprovalSettingsInput

func (AccessApprovalSettingsArray) ElementType added in v4.11.1

func (AccessApprovalSettingsArray) ToAccessApprovalSettingsArrayOutput added in v4.11.1

func (i AccessApprovalSettingsArray) ToAccessApprovalSettingsArrayOutput() AccessApprovalSettingsArrayOutput

func (AccessApprovalSettingsArray) ToAccessApprovalSettingsArrayOutputWithContext added in v4.11.1

func (i AccessApprovalSettingsArray) ToAccessApprovalSettingsArrayOutputWithContext(ctx context.Context) AccessApprovalSettingsArrayOutput

type AccessApprovalSettingsArrayInput added in v4.11.1

type AccessApprovalSettingsArrayInput interface {
	pulumi.Input

	ToAccessApprovalSettingsArrayOutput() AccessApprovalSettingsArrayOutput
	ToAccessApprovalSettingsArrayOutputWithContext(context.Context) AccessApprovalSettingsArrayOutput
}

AccessApprovalSettingsArrayInput is an input type that accepts AccessApprovalSettingsArray and AccessApprovalSettingsArrayOutput values. You can construct a concrete instance of `AccessApprovalSettingsArrayInput` via:

AccessApprovalSettingsArray{ AccessApprovalSettingsArgs{...} }

type AccessApprovalSettingsArrayOutput added in v4.11.1

type AccessApprovalSettingsArrayOutput struct{ *pulumi.OutputState }

func (AccessApprovalSettingsArrayOutput) ElementType added in v4.11.1

func (AccessApprovalSettingsArrayOutput) Index added in v4.11.1

func (AccessApprovalSettingsArrayOutput) ToAccessApprovalSettingsArrayOutput added in v4.11.1

func (o AccessApprovalSettingsArrayOutput) ToAccessApprovalSettingsArrayOutput() AccessApprovalSettingsArrayOutput

func (AccessApprovalSettingsArrayOutput) ToAccessApprovalSettingsArrayOutputWithContext added in v4.11.1

func (o AccessApprovalSettingsArrayOutput) ToAccessApprovalSettingsArrayOutputWithContext(ctx context.Context) AccessApprovalSettingsArrayOutput

type AccessApprovalSettingsEnrolledService

type AccessApprovalSettingsEnrolledService struct {
	CloudProduct    string  `pulumi:"cloudProduct"`
	EnrollmentLevel *string `pulumi:"enrollmentLevel"`
}

type AccessApprovalSettingsEnrolledServiceArgs

type AccessApprovalSettingsEnrolledServiceArgs struct {
	CloudProduct    pulumi.StringInput    `pulumi:"cloudProduct"`
	EnrollmentLevel pulumi.StringPtrInput `pulumi:"enrollmentLevel"`
}

func (AccessApprovalSettingsEnrolledServiceArgs) ElementType

func (AccessApprovalSettingsEnrolledServiceArgs) ToAccessApprovalSettingsEnrolledServiceOutput

func (i AccessApprovalSettingsEnrolledServiceArgs) ToAccessApprovalSettingsEnrolledServiceOutput() AccessApprovalSettingsEnrolledServiceOutput

func (AccessApprovalSettingsEnrolledServiceArgs) ToAccessApprovalSettingsEnrolledServiceOutputWithContext

func (i AccessApprovalSettingsEnrolledServiceArgs) ToAccessApprovalSettingsEnrolledServiceOutputWithContext(ctx context.Context) AccessApprovalSettingsEnrolledServiceOutput

type AccessApprovalSettingsEnrolledServiceArray

type AccessApprovalSettingsEnrolledServiceArray []AccessApprovalSettingsEnrolledServiceInput

func (AccessApprovalSettingsEnrolledServiceArray) ElementType

func (AccessApprovalSettingsEnrolledServiceArray) ToAccessApprovalSettingsEnrolledServiceArrayOutput

func (i AccessApprovalSettingsEnrolledServiceArray) ToAccessApprovalSettingsEnrolledServiceArrayOutput() AccessApprovalSettingsEnrolledServiceArrayOutput

func (AccessApprovalSettingsEnrolledServiceArray) ToAccessApprovalSettingsEnrolledServiceArrayOutputWithContext

func (i AccessApprovalSettingsEnrolledServiceArray) ToAccessApprovalSettingsEnrolledServiceArrayOutputWithContext(ctx context.Context) AccessApprovalSettingsEnrolledServiceArrayOutput

type AccessApprovalSettingsEnrolledServiceArrayInput

type AccessApprovalSettingsEnrolledServiceArrayInput interface {
	pulumi.Input

	ToAccessApprovalSettingsEnrolledServiceArrayOutput() AccessApprovalSettingsEnrolledServiceArrayOutput
	ToAccessApprovalSettingsEnrolledServiceArrayOutputWithContext(context.Context) AccessApprovalSettingsEnrolledServiceArrayOutput
}

AccessApprovalSettingsEnrolledServiceArrayInput is an input type that accepts AccessApprovalSettingsEnrolledServiceArray and AccessApprovalSettingsEnrolledServiceArrayOutput values. You can construct a concrete instance of `AccessApprovalSettingsEnrolledServiceArrayInput` via:

AccessApprovalSettingsEnrolledServiceArray{ AccessApprovalSettingsEnrolledServiceArgs{...} }

type AccessApprovalSettingsEnrolledServiceArrayOutput

type AccessApprovalSettingsEnrolledServiceArrayOutput struct{ *pulumi.OutputState }

func (AccessApprovalSettingsEnrolledServiceArrayOutput) ElementType

func (AccessApprovalSettingsEnrolledServiceArrayOutput) Index

func (AccessApprovalSettingsEnrolledServiceArrayOutput) ToAccessApprovalSettingsEnrolledServiceArrayOutput

func (o AccessApprovalSettingsEnrolledServiceArrayOutput) ToAccessApprovalSettingsEnrolledServiceArrayOutput() AccessApprovalSettingsEnrolledServiceArrayOutput

func (AccessApprovalSettingsEnrolledServiceArrayOutput) ToAccessApprovalSettingsEnrolledServiceArrayOutputWithContext

func (o AccessApprovalSettingsEnrolledServiceArrayOutput) ToAccessApprovalSettingsEnrolledServiceArrayOutputWithContext(ctx context.Context) AccessApprovalSettingsEnrolledServiceArrayOutput

type AccessApprovalSettingsEnrolledServiceInput

type AccessApprovalSettingsEnrolledServiceInput interface {
	pulumi.Input

	ToAccessApprovalSettingsEnrolledServiceOutput() AccessApprovalSettingsEnrolledServiceOutput
	ToAccessApprovalSettingsEnrolledServiceOutputWithContext(context.Context) AccessApprovalSettingsEnrolledServiceOutput
}

AccessApprovalSettingsEnrolledServiceInput is an input type that accepts AccessApprovalSettingsEnrolledServiceArgs and AccessApprovalSettingsEnrolledServiceOutput values. You can construct a concrete instance of `AccessApprovalSettingsEnrolledServiceInput` via:

AccessApprovalSettingsEnrolledServiceArgs{...}

type AccessApprovalSettingsEnrolledServiceOutput

type AccessApprovalSettingsEnrolledServiceOutput struct{ *pulumi.OutputState }

func (AccessApprovalSettingsEnrolledServiceOutput) CloudProduct

func (AccessApprovalSettingsEnrolledServiceOutput) ElementType

func (AccessApprovalSettingsEnrolledServiceOutput) EnrollmentLevel

func (AccessApprovalSettingsEnrolledServiceOutput) ToAccessApprovalSettingsEnrolledServiceOutput

func (o AccessApprovalSettingsEnrolledServiceOutput) ToAccessApprovalSettingsEnrolledServiceOutput() AccessApprovalSettingsEnrolledServiceOutput

func (AccessApprovalSettingsEnrolledServiceOutput) ToAccessApprovalSettingsEnrolledServiceOutputWithContext

func (o AccessApprovalSettingsEnrolledServiceOutput) ToAccessApprovalSettingsEnrolledServiceOutputWithContext(ctx context.Context) AccessApprovalSettingsEnrolledServiceOutput

type AccessApprovalSettingsInput added in v4.4.0

type AccessApprovalSettingsInput interface {
	pulumi.Input

	ToAccessApprovalSettingsOutput() AccessApprovalSettingsOutput
	ToAccessApprovalSettingsOutputWithContext(ctx context.Context) AccessApprovalSettingsOutput
}

type AccessApprovalSettingsMap added in v4.11.1

type AccessApprovalSettingsMap map[string]AccessApprovalSettingsInput

func (AccessApprovalSettingsMap) ElementType added in v4.11.1

func (AccessApprovalSettingsMap) ElementType() reflect.Type

func (AccessApprovalSettingsMap) ToAccessApprovalSettingsMapOutput added in v4.11.1

func (i AccessApprovalSettingsMap) ToAccessApprovalSettingsMapOutput() AccessApprovalSettingsMapOutput

func (AccessApprovalSettingsMap) ToAccessApprovalSettingsMapOutputWithContext added in v4.11.1

func (i AccessApprovalSettingsMap) ToAccessApprovalSettingsMapOutputWithContext(ctx context.Context) AccessApprovalSettingsMapOutput

type AccessApprovalSettingsMapInput added in v4.11.1

type AccessApprovalSettingsMapInput interface {
	pulumi.Input

	ToAccessApprovalSettingsMapOutput() AccessApprovalSettingsMapOutput
	ToAccessApprovalSettingsMapOutputWithContext(context.Context) AccessApprovalSettingsMapOutput
}

AccessApprovalSettingsMapInput is an input type that accepts AccessApprovalSettingsMap and AccessApprovalSettingsMapOutput values. You can construct a concrete instance of `AccessApprovalSettingsMapInput` via:

AccessApprovalSettingsMap{ "key": AccessApprovalSettingsArgs{...} }

type AccessApprovalSettingsMapOutput added in v4.11.1

type AccessApprovalSettingsMapOutput struct{ *pulumi.OutputState }

func (AccessApprovalSettingsMapOutput) ElementType added in v4.11.1

func (AccessApprovalSettingsMapOutput) MapIndex added in v4.11.1

func (AccessApprovalSettingsMapOutput) ToAccessApprovalSettingsMapOutput added in v4.11.1

func (o AccessApprovalSettingsMapOutput) ToAccessApprovalSettingsMapOutput() AccessApprovalSettingsMapOutput

func (AccessApprovalSettingsMapOutput) ToAccessApprovalSettingsMapOutputWithContext added in v4.11.1

func (o AccessApprovalSettingsMapOutput) ToAccessApprovalSettingsMapOutputWithContext(ctx context.Context) AccessApprovalSettingsMapOutput

type AccessApprovalSettingsOutput added in v4.4.0

type AccessApprovalSettingsOutput struct {
	*pulumi.OutputState
}

func (AccessApprovalSettingsOutput) ElementType added in v4.4.0

func (AccessApprovalSettingsOutput) ToAccessApprovalSettingsOutput added in v4.4.0

func (o AccessApprovalSettingsOutput) ToAccessApprovalSettingsOutput() AccessApprovalSettingsOutput

func (AccessApprovalSettingsOutput) ToAccessApprovalSettingsOutputWithContext added in v4.4.0

func (o AccessApprovalSettingsOutput) ToAccessApprovalSettingsOutputWithContext(ctx context.Context) AccessApprovalSettingsOutput

func (AccessApprovalSettingsOutput) ToAccessApprovalSettingsPtrOutput added in v4.11.1

func (o AccessApprovalSettingsOutput) ToAccessApprovalSettingsPtrOutput() AccessApprovalSettingsPtrOutput

func (AccessApprovalSettingsOutput) ToAccessApprovalSettingsPtrOutputWithContext added in v4.11.1

func (o AccessApprovalSettingsOutput) ToAccessApprovalSettingsPtrOutputWithContext(ctx context.Context) AccessApprovalSettingsPtrOutput

type AccessApprovalSettingsPtrInput added in v4.11.1

type AccessApprovalSettingsPtrInput interface {
	pulumi.Input

	ToAccessApprovalSettingsPtrOutput() AccessApprovalSettingsPtrOutput
	ToAccessApprovalSettingsPtrOutputWithContext(ctx context.Context) AccessApprovalSettingsPtrOutput
}

type AccessApprovalSettingsPtrOutput added in v4.11.1

type AccessApprovalSettingsPtrOutput struct {
	*pulumi.OutputState
}

func (AccessApprovalSettingsPtrOutput) ElementType added in v4.11.1

func (AccessApprovalSettingsPtrOutput) ToAccessApprovalSettingsPtrOutput added in v4.11.1

func (o AccessApprovalSettingsPtrOutput) ToAccessApprovalSettingsPtrOutput() AccessApprovalSettingsPtrOutput

func (AccessApprovalSettingsPtrOutput) ToAccessApprovalSettingsPtrOutputWithContext added in v4.11.1

func (o AccessApprovalSettingsPtrOutput) ToAccessApprovalSettingsPtrOutputWithContext(ctx context.Context) AccessApprovalSettingsPtrOutput

type AccessApprovalSettingsState

type AccessApprovalSettingsState struct {
	// This field will always be unset for the organization since organizations do not have ancestors.
	EnrolledAncestor pulumi.BoolPtrInput
	// 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.
	EnrolledServices AccessApprovalSettingsEnrolledServiceArrayInput
	// The resource name of the settings. Format is "organizations/{organization_id}/accessApprovalSettings"
	Name pulumi.StringPtrInput
	// 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.
	NotificationEmails pulumi.StringArrayInput
	// ID of the organization of the access approval settings.
	OrganizationId pulumi.StringPtrInput
}

func (AccessApprovalSettingsState) ElementType

type Folder

type Folder struct {
	pulumi.CustomResourceState

	// Timestamp when the Folder was created. Assigned by the server.
	// A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds. Example: "2014-10-02T15:01:23.045123456Z".
	CreateTime pulumi.StringOutput `pulumi:"createTime"`
	// The folder’s display name.
	// A folder’s display name must be unique amongst its siblings, e.g. no two folders with the same parent can share the same display name. The display name must start and end with a letter or digit, may contain letters, digits, spaces, hyphens and underscores and can be no longer than 30 characters.
	DisplayName pulumi.StringOutput `pulumi:"displayName"`
	// The folder id from the name "folders/{folder_id}"
	FolderId pulumi.StringOutput `pulumi:"folderId"`
	// The lifecycle state of the folder such as `ACTIVE` or `DELETE_REQUESTED`.
	LifecycleState pulumi.StringOutput `pulumi:"lifecycleState"`
	// The resource name of the Folder. Its format is folders/{folder_id}.
	Name pulumi.StringOutput `pulumi:"name"`
	// The resource name of the parent Folder or Organization.
	// Must be of the form `folders/{folder_id}` or `organizations/{org_id}`.
	Parent pulumi.StringOutput `pulumi:"parent"`
}

Allows management of a Google Cloud Platform folder. For more information see [the official documentation](https://cloud.google.com/resource-manager/docs/creating-managing-folders) and [API](https://cloud.google.com/resource-manager/reference/rest/v2/folders).

A folder can contain projects, other folders, or a combination of both. You can use folders to group projects under an organization in a hierarchy. For example, your organization might contain multiple departments, each with its own set of Cloud Platform resources. Folders allows you to group these resources on a per-department basis. Folders are used to group resources that share common IAM policies.

Folders created live inside an Organization. See the [Organization documentation](https://cloud.google.com/resource-manager/docs/quickstarts) for more details.

The service account used to run the provider when creating a `organizations.Folder` resource must have `roles/resourcemanager.folderCreator`. See the [Access Control for Folders Using IAM](https://cloud.google.com/resource-manager/docs/access-control-folders) doc for more information.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v4/go/gcp/organizations"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		department1, err := organizations.NewFolder(ctx, "department1", &organizations.FolderArgs{
			DisplayName: pulumi.String("Department 1"),
			Parent:      pulumi.String("organizations/1234567"),
		})
		if err != nil {
			return err
		}
		_, err = organizations.NewFolder(ctx, "team_abc", &organizations.FolderArgs{
			DisplayName: pulumi.String("Team ABC"),
			Parent:      department1.Name,
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Folders can be imported using the folder's id, e.g. # Both syntaxes are valid

```sh

$ pulumi import gcp:organizations/folder:Folder department1 1234567

```

```sh

$ pulumi import gcp:organizations/folder:Folder department1 folders/1234567

```

func GetFolder

func GetFolder(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *FolderState, opts ...pulumi.ResourceOption) (*Folder, error)

GetFolder gets an existing Folder resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewFolder

func NewFolder(ctx *pulumi.Context,
	name string, args *FolderArgs, opts ...pulumi.ResourceOption) (*Folder, error)

NewFolder registers a new resource with the given unique name, arguments, and options.

func (*Folder) ElementType added in v4.4.0

func (*Folder) ElementType() reflect.Type

func (*Folder) ToFolderOutput added in v4.4.0

func (i *Folder) ToFolderOutput() FolderOutput

func (*Folder) ToFolderOutputWithContext added in v4.4.0

func (i *Folder) ToFolderOutputWithContext(ctx context.Context) FolderOutput

func (*Folder) ToFolderPtrOutput added in v4.11.1

func (i *Folder) ToFolderPtrOutput() FolderPtrOutput

func (*Folder) ToFolderPtrOutputWithContext added in v4.11.1

func (i *Folder) ToFolderPtrOutputWithContext(ctx context.Context) FolderPtrOutput

type FolderArgs

type FolderArgs struct {
	// The folder’s display name.
	// A folder’s display name must be unique amongst its siblings, e.g. no two folders with the same parent can share the same display name. The display name must start and end with a letter or digit, may contain letters, digits, spaces, hyphens and underscores and can be no longer than 30 characters.
	DisplayName pulumi.StringInput
	// The resource name of the parent Folder or Organization.
	// Must be of the form `folders/{folder_id}` or `organizations/{org_id}`.
	Parent pulumi.StringInput
}

The set of arguments for constructing a Folder resource.

func (FolderArgs) ElementType

func (FolderArgs) ElementType() reflect.Type

type FolderArray added in v4.11.1

type FolderArray []FolderInput

func (FolderArray) ElementType added in v4.11.1

func (FolderArray) ElementType() reflect.Type

func (FolderArray) ToFolderArrayOutput added in v4.11.1

func (i FolderArray) ToFolderArrayOutput() FolderArrayOutput

func (FolderArray) ToFolderArrayOutputWithContext added in v4.11.1

func (i FolderArray) ToFolderArrayOutputWithContext(ctx context.Context) FolderArrayOutput

type FolderArrayInput added in v4.11.1

type FolderArrayInput interface {
	pulumi.Input

	ToFolderArrayOutput() FolderArrayOutput
	ToFolderArrayOutputWithContext(context.Context) FolderArrayOutput
}

FolderArrayInput is an input type that accepts FolderArray and FolderArrayOutput values. You can construct a concrete instance of `FolderArrayInput` via:

FolderArray{ FolderArgs{...} }

type FolderArrayOutput added in v4.11.1

type FolderArrayOutput struct{ *pulumi.OutputState }

func (FolderArrayOutput) ElementType added in v4.11.1

func (FolderArrayOutput) ElementType() reflect.Type

func (FolderArrayOutput) Index added in v4.11.1

func (FolderArrayOutput) ToFolderArrayOutput added in v4.11.1

func (o FolderArrayOutput) ToFolderArrayOutput() FolderArrayOutput

func (FolderArrayOutput) ToFolderArrayOutputWithContext added in v4.11.1

func (o FolderArrayOutput) ToFolderArrayOutputWithContext(ctx context.Context) FolderArrayOutput

type FolderInput added in v4.4.0

type FolderInput interface {
	pulumi.Input

	ToFolderOutput() FolderOutput
	ToFolderOutputWithContext(ctx context.Context) FolderOutput
}

type FolderMap added in v4.11.1

type FolderMap map[string]FolderInput

func (FolderMap) ElementType added in v4.11.1

func (FolderMap) ElementType() reflect.Type

func (FolderMap) ToFolderMapOutput added in v4.11.1

func (i FolderMap) ToFolderMapOutput() FolderMapOutput

func (FolderMap) ToFolderMapOutputWithContext added in v4.11.1

func (i FolderMap) ToFolderMapOutputWithContext(ctx context.Context) FolderMapOutput

type FolderMapInput added in v4.11.1

type FolderMapInput interface {
	pulumi.Input

	ToFolderMapOutput() FolderMapOutput
	ToFolderMapOutputWithContext(context.Context) FolderMapOutput
}

FolderMapInput is an input type that accepts FolderMap and FolderMapOutput values. You can construct a concrete instance of `FolderMapInput` via:

FolderMap{ "key": FolderArgs{...} }

type FolderMapOutput added in v4.11.1

type FolderMapOutput struct{ *pulumi.OutputState }

func (FolderMapOutput) ElementType added in v4.11.1

func (FolderMapOutput) ElementType() reflect.Type

func (FolderMapOutput) MapIndex added in v4.11.1

func (FolderMapOutput) ToFolderMapOutput added in v4.11.1

func (o FolderMapOutput) ToFolderMapOutput() FolderMapOutput

func (FolderMapOutput) ToFolderMapOutputWithContext added in v4.11.1

func (o FolderMapOutput) ToFolderMapOutputWithContext(ctx context.Context) FolderMapOutput

type FolderOutput added in v4.4.0

type FolderOutput struct {
	*pulumi.OutputState
}

func (FolderOutput) ElementType added in v4.4.0

func (FolderOutput) ElementType() reflect.Type

func (FolderOutput) ToFolderOutput added in v4.4.0

func (o FolderOutput) ToFolderOutput() FolderOutput

func (FolderOutput) ToFolderOutputWithContext added in v4.4.0

func (o FolderOutput) ToFolderOutputWithContext(ctx context.Context) FolderOutput

func (FolderOutput) ToFolderPtrOutput added in v4.11.1

func (o FolderOutput) ToFolderPtrOutput() FolderPtrOutput

func (FolderOutput) ToFolderPtrOutputWithContext added in v4.11.1

func (o FolderOutput) ToFolderPtrOutputWithContext(ctx context.Context) FolderPtrOutput

type FolderPtrInput added in v4.11.1

type FolderPtrInput interface {
	pulumi.Input

	ToFolderPtrOutput() FolderPtrOutput
	ToFolderPtrOutputWithContext(ctx context.Context) FolderPtrOutput
}

type FolderPtrOutput added in v4.11.1

type FolderPtrOutput struct {
	*pulumi.OutputState
}

func (FolderPtrOutput) ElementType added in v4.11.1

func (FolderPtrOutput) ElementType() reflect.Type

func (FolderPtrOutput) ToFolderPtrOutput added in v4.11.1

func (o FolderPtrOutput) ToFolderPtrOutput() FolderPtrOutput

func (FolderPtrOutput) ToFolderPtrOutputWithContext added in v4.11.1

func (o FolderPtrOutput) ToFolderPtrOutputWithContext(ctx context.Context) FolderPtrOutput

type FolderState

type FolderState struct {
	// Timestamp when the Folder was created. Assigned by the server.
	// A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds. Example: "2014-10-02T15:01:23.045123456Z".
	CreateTime pulumi.StringPtrInput
	// The folder’s display name.
	// A folder’s display name must be unique amongst its siblings, e.g. no two folders with the same parent can share the same display name. The display name must start and end with a letter or digit, may contain letters, digits, spaces, hyphens and underscores and can be no longer than 30 characters.
	DisplayName pulumi.StringPtrInput
	// The folder id from the name "folders/{folder_id}"
	FolderId pulumi.StringPtrInput
	// The lifecycle state of the folder such as `ACTIVE` or `DELETE_REQUESTED`.
	LifecycleState pulumi.StringPtrInput
	// The resource name of the Folder. Its format is folders/{folder_id}.
	Name pulumi.StringPtrInput
	// The resource name of the parent Folder or Organization.
	// Must be of the form `folders/{folder_id}` or `organizations/{org_id}`.
	Parent pulumi.StringPtrInput
}

func (FolderState) ElementType

func (FolderState) ElementType() reflect.Type

type GetActiveFolderArgs

type GetActiveFolderArgs struct {
	// The folder's display name.
	DisplayName string `pulumi:"displayName"`
	// The resource name of the parent Folder or Organization.
	Parent string `pulumi:"parent"`
}

A collection of arguments for invoking getActiveFolder.

type GetActiveFolderResult

type GetActiveFolderResult struct {
	DisplayName string `pulumi:"displayName"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// The resource name of the Folder. This uniquely identifies the folder.
	Name   string `pulumi:"name"`
	Parent string `pulumi:"parent"`
}

A collection of values returned by getActiveFolder.

func GetActiveFolder

func GetActiveFolder(ctx *pulumi.Context, args *GetActiveFolderArgs, opts ...pulumi.InvokeOption) (*GetActiveFolderResult, error)

Get an active folder within GCP by `displayName` and `parent`.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v4/go/gcp/organizations"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := organizations.GetActiveFolder(ctx, &organizations.GetActiveFolderArgs{
			DisplayName: "Department 1",
			Parent:      "organizations/1234567",
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type GetBillingAccountArgs

type GetBillingAccountArgs struct {
	// The name of the billing account in the form `{billing_account_id}` or `billingAccounts/{billing_account_id}`.
	BillingAccount *string `pulumi:"billingAccount"`
	// The display name of the billing account.
	DisplayName *string `pulumi:"displayName"`
	// `true` if the billing account is open, `false` if the billing account is closed.
	Open *bool `pulumi:"open"`
}

A collection of arguments for invoking getBillingAccount.

type GetBillingAccountResult

type GetBillingAccountResult struct {
	BillingAccount *string `pulumi:"billingAccount"`
	DisplayName    string  `pulumi:"displayName"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// The resource name of the billing account in the form `billingAccounts/{billing_account_id}`.
	Name string `pulumi:"name"`
	Open bool   `pulumi:"open"`
	// The IDs of any projects associated with the billing account.
	ProjectIds []string `pulumi:"projectIds"`
}

A collection of values returned by getBillingAccount.

func GetBillingAccount

func GetBillingAccount(ctx *pulumi.Context, args *GetBillingAccountArgs, opts ...pulumi.InvokeOption) (*GetBillingAccountResult, error)

Use this data source to get information about a Google Billing Account.

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v4/go/gcp/organizations"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		opt0 := "My Billing Account"
		opt1 := true
		acct, err := organizations.GetBillingAccount(ctx, &organizations.GetBillingAccountArgs{
			DisplayName: &opt0,
			Open:        &opt1,
		}, nil)
		if err != nil {
			return err
		}
		_, err = organizations.NewProject(ctx, "myProject", &organizations.ProjectArgs{
			ProjectId:      pulumi.String("your-project-id"),
			OrgId:          pulumi.String("1234567"),
			BillingAccount: pulumi.String(acct.Id),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

type GetClientConfigResult

type GetClientConfigResult struct {
	// The OAuth2 access token used by the client to authenticate against the Google Cloud API.
	AccessToken string `pulumi:"accessToken"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// The ID of the project to apply any resources to.
	Project string `pulumi:"project"`
	// The region to operate under.
	Region string `pulumi:"region"`
	// The zone to operate under.
	Zone string `pulumi:"zone"`
}

A collection of values returned by getClientConfig.

func GetClientConfig

func GetClientConfig(ctx *pulumi.Context, opts ...pulumi.InvokeOption) (*GetClientConfigResult, error)

Use this data source to access the configuration of the Google Cloud provider.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v4/go/gcp/organizations"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		current, err := organizations.GetClientConfig(ctx, nil, nil)
		if err != nil {
			return err
		}
		ctx.Export("project", current.Project)
		return nil
	})
}

```

type GetClientOpenIdUserInfoResult

type GetClientOpenIdUserInfoResult struct {
	// The email of the account used by the provider to authenticate with GCP.
	Email string `pulumi:"email"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
}

A collection of values returned by getClientOpenIdUserInfo.

func GetClientOpenIdUserInfo

func GetClientOpenIdUserInfo(ctx *pulumi.Context, opts ...pulumi.InvokeOption) (*GetClientOpenIdUserInfoResult, error)

Get OpenID userinfo about the credentials used with the Google provider, specifically the email.

This datasource enables you to export the email of the account you've authenticated the provider with; this can be used alongside `data.google_client_config`'s `accessToken` to perform OpenID Connect authentication with GKE and configure an RBAC role for the email used.

> This resource will only work as expected if the provider is configured to use the `https://www.googleapis.com/auth/userinfo.email` scope! You will receive an error otherwise.

## Example Usage ### Exporting An Email

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v4/go/gcp/organizations"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		me, err := organizations.GetClientOpenIdUserInfo(ctx, nil, nil)
		if err != nil {
			return err
		}
		ctx.Export("my-email", me.Email)
		return nil
	})
}

```

type GetIAMPolicyAuditConfig

type GetIAMPolicyAuditConfig struct {
	// A nested block that defines the operations you'd like to log.
	AuditLogConfigs []GetIAMPolicyAuditConfigAuditLogConfig `pulumi:"auditLogConfigs"`
	// Defines a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services.
	Service string `pulumi:"service"`
}

type GetIAMPolicyAuditConfigArgs

type GetIAMPolicyAuditConfigArgs struct {
	// A nested block that defines the operations you'd like to log.
	AuditLogConfigs GetIAMPolicyAuditConfigAuditLogConfigArrayInput `pulumi:"auditLogConfigs"`
	// Defines a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services.
	Service pulumi.StringInput `pulumi:"service"`
}

func (GetIAMPolicyAuditConfigArgs) ElementType

func (GetIAMPolicyAuditConfigArgs) ToGetIAMPolicyAuditConfigOutput

func (i GetIAMPolicyAuditConfigArgs) ToGetIAMPolicyAuditConfigOutput() GetIAMPolicyAuditConfigOutput

func (GetIAMPolicyAuditConfigArgs) ToGetIAMPolicyAuditConfigOutputWithContext

func (i GetIAMPolicyAuditConfigArgs) ToGetIAMPolicyAuditConfigOutputWithContext(ctx context.Context) GetIAMPolicyAuditConfigOutput

type GetIAMPolicyAuditConfigArray

type GetIAMPolicyAuditConfigArray []GetIAMPolicyAuditConfigInput

func (GetIAMPolicyAuditConfigArray) ElementType

func (GetIAMPolicyAuditConfigArray) ToGetIAMPolicyAuditConfigArrayOutput

func (i GetIAMPolicyAuditConfigArray) ToGetIAMPolicyAuditConfigArrayOutput() GetIAMPolicyAuditConfigArrayOutput

func (GetIAMPolicyAuditConfigArray) ToGetIAMPolicyAuditConfigArrayOutputWithContext

func (i GetIAMPolicyAuditConfigArray) ToGetIAMPolicyAuditConfigArrayOutputWithContext(ctx context.Context) GetIAMPolicyAuditConfigArrayOutput

type GetIAMPolicyAuditConfigArrayInput

type GetIAMPolicyAuditConfigArrayInput interface {
	pulumi.Input

	ToGetIAMPolicyAuditConfigArrayOutput() GetIAMPolicyAuditConfigArrayOutput
	ToGetIAMPolicyAuditConfigArrayOutputWithContext(context.Context) GetIAMPolicyAuditConfigArrayOutput
}

GetIAMPolicyAuditConfigArrayInput is an input type that accepts GetIAMPolicyAuditConfigArray and GetIAMPolicyAuditConfigArrayOutput values. You can construct a concrete instance of `GetIAMPolicyAuditConfigArrayInput` via:

GetIAMPolicyAuditConfigArray{ GetIAMPolicyAuditConfigArgs{...} }

type GetIAMPolicyAuditConfigArrayOutput

type GetIAMPolicyAuditConfigArrayOutput struct{ *pulumi.OutputState }

func (GetIAMPolicyAuditConfigArrayOutput) ElementType

func (GetIAMPolicyAuditConfigArrayOutput) Index

func (GetIAMPolicyAuditConfigArrayOutput) ToGetIAMPolicyAuditConfigArrayOutput

func (o GetIAMPolicyAuditConfigArrayOutput) ToGetIAMPolicyAuditConfigArrayOutput() GetIAMPolicyAuditConfigArrayOutput

func (GetIAMPolicyAuditConfigArrayOutput) ToGetIAMPolicyAuditConfigArrayOutputWithContext

func (o GetIAMPolicyAuditConfigArrayOutput) ToGetIAMPolicyAuditConfigArrayOutputWithContext(ctx context.Context) GetIAMPolicyAuditConfigArrayOutput

type GetIAMPolicyAuditConfigAuditLogConfig

type GetIAMPolicyAuditConfigAuditLogConfig struct {
	// Specifies the identities that are exempt from these types of logging operations. Follows the same format of the `members` array for `binding`.
	ExemptedMembers []string `pulumi:"exemptedMembers"`
	// Defines the logging level. `DATA_READ`, `DATA_WRITE` and `ADMIN_READ` capture different types of events. See [the audit configuration documentation](https://cloud.google.com/resource-manager/reference/rest/Shared.Types/AuditConfig) for more details.
	LogType string `pulumi:"logType"`
}

type GetIAMPolicyAuditConfigAuditLogConfigArgs

type GetIAMPolicyAuditConfigAuditLogConfigArgs struct {
	// Specifies the identities that are exempt from these types of logging operations. Follows the same format of the `members` array for `binding`.
	ExemptedMembers pulumi.StringArrayInput `pulumi:"exemptedMembers"`
	// Defines the logging level. `DATA_READ`, `DATA_WRITE` and `ADMIN_READ` capture different types of events. See [the audit configuration documentation](https://cloud.google.com/resource-manager/reference/rest/Shared.Types/AuditConfig) for more details.
	LogType pulumi.StringInput `pulumi:"logType"`
}

func (GetIAMPolicyAuditConfigAuditLogConfigArgs) ElementType

func (GetIAMPolicyAuditConfigAuditLogConfigArgs) ToGetIAMPolicyAuditConfigAuditLogConfigOutput

func (i GetIAMPolicyAuditConfigAuditLogConfigArgs) ToGetIAMPolicyAuditConfigAuditLogConfigOutput() GetIAMPolicyAuditConfigAuditLogConfigOutput

func (GetIAMPolicyAuditConfigAuditLogConfigArgs) ToGetIAMPolicyAuditConfigAuditLogConfigOutputWithContext

func (i GetIAMPolicyAuditConfigAuditLogConfigArgs) ToGetIAMPolicyAuditConfigAuditLogConfigOutputWithContext(ctx context.Context) GetIAMPolicyAuditConfigAuditLogConfigOutput

type GetIAMPolicyAuditConfigAuditLogConfigArray

type GetIAMPolicyAuditConfigAuditLogConfigArray []GetIAMPolicyAuditConfigAuditLogConfigInput

func (GetIAMPolicyAuditConfigAuditLogConfigArray) ElementType

func (GetIAMPolicyAuditConfigAuditLogConfigArray) ToGetIAMPolicyAuditConfigAuditLogConfigArrayOutput

func (i GetIAMPolicyAuditConfigAuditLogConfigArray) ToGetIAMPolicyAuditConfigAuditLogConfigArrayOutput() GetIAMPolicyAuditConfigAuditLogConfigArrayOutput

func (GetIAMPolicyAuditConfigAuditLogConfigArray) ToGetIAMPolicyAuditConfigAuditLogConfigArrayOutputWithContext

func (i GetIAMPolicyAuditConfigAuditLogConfigArray) ToGetIAMPolicyAuditConfigAuditLogConfigArrayOutputWithContext(ctx context.Context) GetIAMPolicyAuditConfigAuditLogConfigArrayOutput

type GetIAMPolicyAuditConfigAuditLogConfigArrayInput

type GetIAMPolicyAuditConfigAuditLogConfigArrayInput interface {
	pulumi.Input

	ToGetIAMPolicyAuditConfigAuditLogConfigArrayOutput() GetIAMPolicyAuditConfigAuditLogConfigArrayOutput
	ToGetIAMPolicyAuditConfigAuditLogConfigArrayOutputWithContext(context.Context) GetIAMPolicyAuditConfigAuditLogConfigArrayOutput
}

GetIAMPolicyAuditConfigAuditLogConfigArrayInput is an input type that accepts GetIAMPolicyAuditConfigAuditLogConfigArray and GetIAMPolicyAuditConfigAuditLogConfigArrayOutput values. You can construct a concrete instance of `GetIAMPolicyAuditConfigAuditLogConfigArrayInput` via:

GetIAMPolicyAuditConfigAuditLogConfigArray{ GetIAMPolicyAuditConfigAuditLogConfigArgs{...} }

type GetIAMPolicyAuditConfigAuditLogConfigArrayOutput

type GetIAMPolicyAuditConfigAuditLogConfigArrayOutput struct{ *pulumi.OutputState }

func (GetIAMPolicyAuditConfigAuditLogConfigArrayOutput) ElementType

func (GetIAMPolicyAuditConfigAuditLogConfigArrayOutput) Index

func (GetIAMPolicyAuditConfigAuditLogConfigArrayOutput) ToGetIAMPolicyAuditConfigAuditLogConfigArrayOutput

func (o GetIAMPolicyAuditConfigAuditLogConfigArrayOutput) ToGetIAMPolicyAuditConfigAuditLogConfigArrayOutput() GetIAMPolicyAuditConfigAuditLogConfigArrayOutput

func (GetIAMPolicyAuditConfigAuditLogConfigArrayOutput) ToGetIAMPolicyAuditConfigAuditLogConfigArrayOutputWithContext

func (o GetIAMPolicyAuditConfigAuditLogConfigArrayOutput) ToGetIAMPolicyAuditConfigAuditLogConfigArrayOutputWithContext(ctx context.Context) GetIAMPolicyAuditConfigAuditLogConfigArrayOutput

type GetIAMPolicyAuditConfigAuditLogConfigInput

type GetIAMPolicyAuditConfigAuditLogConfigInput interface {
	pulumi.Input

	ToGetIAMPolicyAuditConfigAuditLogConfigOutput() GetIAMPolicyAuditConfigAuditLogConfigOutput
	ToGetIAMPolicyAuditConfigAuditLogConfigOutputWithContext(context.Context) GetIAMPolicyAuditConfigAuditLogConfigOutput
}

GetIAMPolicyAuditConfigAuditLogConfigInput is an input type that accepts GetIAMPolicyAuditConfigAuditLogConfigArgs and GetIAMPolicyAuditConfigAuditLogConfigOutput values. You can construct a concrete instance of `GetIAMPolicyAuditConfigAuditLogConfigInput` via:

GetIAMPolicyAuditConfigAuditLogConfigArgs{...}

type GetIAMPolicyAuditConfigAuditLogConfigOutput

type GetIAMPolicyAuditConfigAuditLogConfigOutput struct{ *pulumi.OutputState }

func (GetIAMPolicyAuditConfigAuditLogConfigOutput) ElementType

func (GetIAMPolicyAuditConfigAuditLogConfigOutput) ExemptedMembers

Specifies the identities that are exempt from these types of logging operations. Follows the same format of the `members` array for `binding`.

func (GetIAMPolicyAuditConfigAuditLogConfigOutput) LogType

Defines the logging level. `DATA_READ`, `DATA_WRITE` and `ADMIN_READ` capture different types of events. See [the audit configuration documentation](https://cloud.google.com/resource-manager/reference/rest/Shared.Types/AuditConfig) for more details.

func (GetIAMPolicyAuditConfigAuditLogConfigOutput) ToGetIAMPolicyAuditConfigAuditLogConfigOutput

func (o GetIAMPolicyAuditConfigAuditLogConfigOutput) ToGetIAMPolicyAuditConfigAuditLogConfigOutput() GetIAMPolicyAuditConfigAuditLogConfigOutput

func (GetIAMPolicyAuditConfigAuditLogConfigOutput) ToGetIAMPolicyAuditConfigAuditLogConfigOutputWithContext

func (o GetIAMPolicyAuditConfigAuditLogConfigOutput) ToGetIAMPolicyAuditConfigAuditLogConfigOutputWithContext(ctx context.Context) GetIAMPolicyAuditConfigAuditLogConfigOutput

type GetIAMPolicyAuditConfigInput

type GetIAMPolicyAuditConfigInput interface {
	pulumi.Input

	ToGetIAMPolicyAuditConfigOutput() GetIAMPolicyAuditConfigOutput
	ToGetIAMPolicyAuditConfigOutputWithContext(context.Context) GetIAMPolicyAuditConfigOutput
}

GetIAMPolicyAuditConfigInput is an input type that accepts GetIAMPolicyAuditConfigArgs and GetIAMPolicyAuditConfigOutput values. You can construct a concrete instance of `GetIAMPolicyAuditConfigInput` via:

GetIAMPolicyAuditConfigArgs{...}

type GetIAMPolicyAuditConfigOutput

type GetIAMPolicyAuditConfigOutput struct{ *pulumi.OutputState }

func (GetIAMPolicyAuditConfigOutput) AuditLogConfigs

A nested block that defines the operations you'd like to log.

func (GetIAMPolicyAuditConfigOutput) ElementType

func (GetIAMPolicyAuditConfigOutput) Service

Defines a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services.

func (GetIAMPolicyAuditConfigOutput) ToGetIAMPolicyAuditConfigOutput

func (o GetIAMPolicyAuditConfigOutput) ToGetIAMPolicyAuditConfigOutput() GetIAMPolicyAuditConfigOutput

func (GetIAMPolicyAuditConfigOutput) ToGetIAMPolicyAuditConfigOutputWithContext

func (o GetIAMPolicyAuditConfigOutput) ToGetIAMPolicyAuditConfigOutputWithContext(ctx context.Context) GetIAMPolicyAuditConfigOutput

type GetIAMPolicyBinding

type GetIAMPolicyBinding struct {
	// An [IAM Condition](https://cloud.google.com/iam/docs/conditions-overview) for a given binding. Structure is documented below.
	Condition *GetIAMPolicyBindingCondition `pulumi:"condition"`
	// An array of identities that will be granted the privilege in the `role`. For more details on format and restrictions see https://cloud.google.com/billing/reference/rest/v1/Policy#Binding
	// Each entry can have one of the following values:
	// * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account. Some resources **don't** support this identity.
	// * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account. Some resources **don't** support this identity.
	// * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com.
	// * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
	// * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
	// * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
	Members []string `pulumi:"members"`
	// The role/permission that will be granted to the members.
	// See the [IAM Roles](https://cloud.google.com/compute/docs/access/iam) documentation for a complete list of roles.
	// Note that custom roles must be of the format `[projects|organizations]/{parent-name}/roles/{role-name}`.
	Role string `pulumi:"role"`
}

type GetIAMPolicyBindingArgs

type GetIAMPolicyBindingArgs struct {
	// An [IAM Condition](https://cloud.google.com/iam/docs/conditions-overview) for a given binding. Structure is documented below.
	Condition GetIAMPolicyBindingConditionPtrInput `pulumi:"condition"`
	// An array of identities that will be granted the privilege in the `role`. For more details on format and restrictions see https://cloud.google.com/billing/reference/rest/v1/Policy#Binding
	// Each entry can have one of the following values:
	// * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account. Some resources **don't** support this identity.
	// * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account. Some resources **don't** support this identity.
	// * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com.
	// * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
	// * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
	// * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
	Members pulumi.StringArrayInput `pulumi:"members"`
	// The role/permission that will be granted to the members.
	// See the [IAM Roles](https://cloud.google.com/compute/docs/access/iam) documentation for a complete list of roles.
	// Note that custom roles must be of the format `[projects|organizations]/{parent-name}/roles/{role-name}`.
	Role pulumi.StringInput `pulumi:"role"`
}

func (GetIAMPolicyBindingArgs) ElementType

func (GetIAMPolicyBindingArgs) ElementType() reflect.Type

func (GetIAMPolicyBindingArgs) ToGetIAMPolicyBindingOutput

func (i GetIAMPolicyBindingArgs) ToGetIAMPolicyBindingOutput() GetIAMPolicyBindingOutput

func (GetIAMPolicyBindingArgs) ToGetIAMPolicyBindingOutputWithContext

func (i GetIAMPolicyBindingArgs) ToGetIAMPolicyBindingOutputWithContext(ctx context.Context) GetIAMPolicyBindingOutput

type GetIAMPolicyBindingArray

type GetIAMPolicyBindingArray []GetIAMPolicyBindingInput

func (GetIAMPolicyBindingArray) ElementType

func (GetIAMPolicyBindingArray) ElementType() reflect.Type

func (GetIAMPolicyBindingArray) ToGetIAMPolicyBindingArrayOutput

func (i GetIAMPolicyBindingArray) ToGetIAMPolicyBindingArrayOutput() GetIAMPolicyBindingArrayOutput

func (GetIAMPolicyBindingArray) ToGetIAMPolicyBindingArrayOutputWithContext

func (i GetIAMPolicyBindingArray) ToGetIAMPolicyBindingArrayOutputWithContext(ctx context.Context) GetIAMPolicyBindingArrayOutput

type GetIAMPolicyBindingArrayInput

type GetIAMPolicyBindingArrayInput interface {
	pulumi.Input

	ToGetIAMPolicyBindingArrayOutput() GetIAMPolicyBindingArrayOutput
	ToGetIAMPolicyBindingArrayOutputWithContext(context.Context) GetIAMPolicyBindingArrayOutput
}

GetIAMPolicyBindingArrayInput is an input type that accepts GetIAMPolicyBindingArray and GetIAMPolicyBindingArrayOutput values. You can construct a concrete instance of `GetIAMPolicyBindingArrayInput` via:

GetIAMPolicyBindingArray{ GetIAMPolicyBindingArgs{...} }

type GetIAMPolicyBindingArrayOutput

type GetIAMPolicyBindingArrayOutput struct{ *pulumi.OutputState }

func (GetIAMPolicyBindingArrayOutput) ElementType

func (GetIAMPolicyBindingArrayOutput) Index

func (GetIAMPolicyBindingArrayOutput) ToGetIAMPolicyBindingArrayOutput

func (o GetIAMPolicyBindingArrayOutput) ToGetIAMPolicyBindingArrayOutput() GetIAMPolicyBindingArrayOutput

func (GetIAMPolicyBindingArrayOutput) ToGetIAMPolicyBindingArrayOutputWithContext

func (o GetIAMPolicyBindingArrayOutput) ToGetIAMPolicyBindingArrayOutputWithContext(ctx context.Context) GetIAMPolicyBindingArrayOutput

type GetIAMPolicyBindingCondition

type GetIAMPolicyBindingCondition struct {
	// An optional description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.
	Description *string `pulumi:"description"`
	// Textual representation of an expression in Common Expression Language syntax.
	Expression string `pulumi:"expression"`
	// A title for the expression, i.e. a short string describing its purpose.
	Title string `pulumi:"title"`
}

type GetIAMPolicyBindingConditionArgs

type GetIAMPolicyBindingConditionArgs struct {
	// An optional description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.
	Description pulumi.StringPtrInput `pulumi:"description"`
	// Textual representation of an expression in Common Expression Language syntax.
	Expression pulumi.StringInput `pulumi:"expression"`
	// A title for the expression, i.e. a short string describing its purpose.
	Title pulumi.StringInput `pulumi:"title"`
}

func (GetIAMPolicyBindingConditionArgs) ElementType

func (GetIAMPolicyBindingConditionArgs) ToGetIAMPolicyBindingConditionOutput

func (i GetIAMPolicyBindingConditionArgs) ToGetIAMPolicyBindingConditionOutput() GetIAMPolicyBindingConditionOutput

func (GetIAMPolicyBindingConditionArgs) ToGetIAMPolicyBindingConditionOutputWithContext

func (i GetIAMPolicyBindingConditionArgs) ToGetIAMPolicyBindingConditionOutputWithContext(ctx context.Context) GetIAMPolicyBindingConditionOutput

func (GetIAMPolicyBindingConditionArgs) ToGetIAMPolicyBindingConditionPtrOutput

func (i GetIAMPolicyBindingConditionArgs) ToGetIAMPolicyBindingConditionPtrOutput() GetIAMPolicyBindingConditionPtrOutput

func (GetIAMPolicyBindingConditionArgs) ToGetIAMPolicyBindingConditionPtrOutputWithContext

func (i GetIAMPolicyBindingConditionArgs) ToGetIAMPolicyBindingConditionPtrOutputWithContext(ctx context.Context) GetIAMPolicyBindingConditionPtrOutput

type GetIAMPolicyBindingConditionInput

type GetIAMPolicyBindingConditionInput interface {
	pulumi.Input

	ToGetIAMPolicyBindingConditionOutput() GetIAMPolicyBindingConditionOutput
	ToGetIAMPolicyBindingConditionOutputWithContext(context.Context) GetIAMPolicyBindingConditionOutput
}

GetIAMPolicyBindingConditionInput is an input type that accepts GetIAMPolicyBindingConditionArgs and GetIAMPolicyBindingConditionOutput values. You can construct a concrete instance of `GetIAMPolicyBindingConditionInput` via:

GetIAMPolicyBindingConditionArgs{...}

type GetIAMPolicyBindingConditionOutput

type GetIAMPolicyBindingConditionOutput struct{ *pulumi.OutputState }

func (GetIAMPolicyBindingConditionOutput) Description

An optional description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.

func (GetIAMPolicyBindingConditionOutput) ElementType

func (GetIAMPolicyBindingConditionOutput) Expression

Textual representation of an expression in Common Expression Language syntax.

func (GetIAMPolicyBindingConditionOutput) Title

A title for the expression, i.e. a short string describing its purpose.

func (GetIAMPolicyBindingConditionOutput) ToGetIAMPolicyBindingConditionOutput

func (o GetIAMPolicyBindingConditionOutput) ToGetIAMPolicyBindingConditionOutput() GetIAMPolicyBindingConditionOutput

func (GetIAMPolicyBindingConditionOutput) ToGetIAMPolicyBindingConditionOutputWithContext

func (o GetIAMPolicyBindingConditionOutput) ToGetIAMPolicyBindingConditionOutputWithContext(ctx context.Context) GetIAMPolicyBindingConditionOutput

func (GetIAMPolicyBindingConditionOutput) ToGetIAMPolicyBindingConditionPtrOutput

func (o GetIAMPolicyBindingConditionOutput) ToGetIAMPolicyBindingConditionPtrOutput() GetIAMPolicyBindingConditionPtrOutput

func (GetIAMPolicyBindingConditionOutput) ToGetIAMPolicyBindingConditionPtrOutputWithContext

func (o GetIAMPolicyBindingConditionOutput) ToGetIAMPolicyBindingConditionPtrOutputWithContext(ctx context.Context) GetIAMPolicyBindingConditionPtrOutput

type GetIAMPolicyBindingConditionPtrInput

type GetIAMPolicyBindingConditionPtrInput interface {
	pulumi.Input

	ToGetIAMPolicyBindingConditionPtrOutput() GetIAMPolicyBindingConditionPtrOutput
	ToGetIAMPolicyBindingConditionPtrOutputWithContext(context.Context) GetIAMPolicyBindingConditionPtrOutput
}

GetIAMPolicyBindingConditionPtrInput is an input type that accepts GetIAMPolicyBindingConditionArgs, GetIAMPolicyBindingConditionPtr and GetIAMPolicyBindingConditionPtrOutput values. You can construct a concrete instance of `GetIAMPolicyBindingConditionPtrInput` via:

        GetIAMPolicyBindingConditionArgs{...}

or:

        nil

type GetIAMPolicyBindingConditionPtrOutput

type GetIAMPolicyBindingConditionPtrOutput struct{ *pulumi.OutputState }

func (GetIAMPolicyBindingConditionPtrOutput) Description

An optional description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.

func (GetIAMPolicyBindingConditionPtrOutput) Elem

func (GetIAMPolicyBindingConditionPtrOutput) ElementType

func (GetIAMPolicyBindingConditionPtrOutput) Expression

Textual representation of an expression in Common Expression Language syntax.

func (GetIAMPolicyBindingConditionPtrOutput) Title

A title for the expression, i.e. a short string describing its purpose.

func (GetIAMPolicyBindingConditionPtrOutput) ToGetIAMPolicyBindingConditionPtrOutput

func (o GetIAMPolicyBindingConditionPtrOutput) ToGetIAMPolicyBindingConditionPtrOutput() GetIAMPolicyBindingConditionPtrOutput

func (GetIAMPolicyBindingConditionPtrOutput) ToGetIAMPolicyBindingConditionPtrOutputWithContext

func (o GetIAMPolicyBindingConditionPtrOutput) ToGetIAMPolicyBindingConditionPtrOutputWithContext(ctx context.Context) GetIAMPolicyBindingConditionPtrOutput

type GetIAMPolicyBindingInput

type GetIAMPolicyBindingInput interface {
	pulumi.Input

	ToGetIAMPolicyBindingOutput() GetIAMPolicyBindingOutput
	ToGetIAMPolicyBindingOutputWithContext(context.Context) GetIAMPolicyBindingOutput
}

GetIAMPolicyBindingInput is an input type that accepts GetIAMPolicyBindingArgs and GetIAMPolicyBindingOutput values. You can construct a concrete instance of `GetIAMPolicyBindingInput` via:

GetIAMPolicyBindingArgs{...}

type GetIAMPolicyBindingOutput

type GetIAMPolicyBindingOutput struct{ *pulumi.OutputState }

func (GetIAMPolicyBindingOutput) Condition

An [IAM Condition](https://cloud.google.com/iam/docs/conditions-overview) for a given binding. Structure is documented below.

func (GetIAMPolicyBindingOutput) ElementType

func (GetIAMPolicyBindingOutput) ElementType() reflect.Type

func (GetIAMPolicyBindingOutput) Members

An array of identities that will be granted the privilege in the `role`. For more details on format and restrictions see https://cloud.google.com/billing/reference/rest/v1/Policy#Binding Each entry can have one of the following values: * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account. Some resources **don't** support this identity. * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account. Some resources **don't** support this identity. * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com. * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com. * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com. * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.

func (GetIAMPolicyBindingOutput) Role

The role/permission that will be granted to the members. See the [IAM Roles](https://cloud.google.com/compute/docs/access/iam) documentation for a complete list of roles. Note that custom roles must be of the format `[projects|organizations]/{parent-name}/roles/{role-name}`.

func (GetIAMPolicyBindingOutput) ToGetIAMPolicyBindingOutput

func (o GetIAMPolicyBindingOutput) ToGetIAMPolicyBindingOutput() GetIAMPolicyBindingOutput

func (GetIAMPolicyBindingOutput) ToGetIAMPolicyBindingOutputWithContext

func (o GetIAMPolicyBindingOutput) ToGetIAMPolicyBindingOutputWithContext(ctx context.Context) GetIAMPolicyBindingOutput

type GetOrganizationArgs

type GetOrganizationArgs struct {
	// The domain name of the Organization.
	Domain *string `pulumi:"domain"`
	// The Organization's numeric ID, including an optional `organizations/` prefix.
	Organization *string `pulumi:"organization"`
}

A collection of arguments for invoking getOrganization.

type GetOrganizationResult

type GetOrganizationResult struct {
	// Timestamp when the Organization was created. A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds. Example: "2014-10-02T15:01:23.045123456Z".
	CreateTime string `pulumi:"createTime"`
	// The Google for Work customer ID of the Organization.
	DirectoryCustomerId string `pulumi:"directoryCustomerId"`
	Domain              string `pulumi:"domain"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// The Organization's current lifecycle state.
	LifecycleState string `pulumi:"lifecycleState"`
	// The resource name of the Organization in the form `organizations/{organization_id}`.
	Name string `pulumi:"name"`
	// The Organization ID.
	OrgId        string  `pulumi:"orgId"`
	Organization *string `pulumi:"organization"`
}

A collection of values returned by getOrganization.

func GetOrganization

func GetOrganization(ctx *pulumi.Context, args *GetOrganizationArgs, opts ...pulumi.InvokeOption) (*GetOrganizationResult, error)

Get information about a Google Cloud Organization. Note that you must have the `roles/resourcemanager.organizationViewer` role (or equivalent permissions) at the organization level to use this datasource.

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v4/go/gcp/organizations"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		opt0 := "example.com"
		org, err := organizations.GetOrganization(ctx, &organizations.GetOrganizationArgs{
			Domain: &opt0,
		}, nil)
		if err != nil {
			return err
		}
		_, err = organizations.NewFolder(ctx, "sales", &organizations.FolderArgs{
			DisplayName: pulumi.String("Sales"),
			Parent:      pulumi.String(org.Name),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

type IAMBinding

type IAMBinding struct {
	pulumi.CustomResourceState

	Condition IAMBindingConditionPtrOutput `pulumi:"condition"`
	// (Computed) The etag of the organization's IAM policy.
	Etag pulumi.StringOutput `pulumi:"etag"`
	// A list of users that the role should apply to. For more details on format and restrictions see https://cloud.google.com/billing/reference/rest/v1/Policy#Binding
	Members pulumi.StringArrayOutput `pulumi:"members"`
	// The numeric ID of the organization in which you want to create a custom role.
	OrgId pulumi.StringOutput `pulumi:"orgId"`
	// The role that should be applied. Only one
	// `organizations.IAMBinding` can be used per role. Note that custom roles must be of the format
	// `[projects|organizations]/{parent-name}/roles/{role-name}`.
	Role pulumi.StringOutput `pulumi:"role"`
}

Allows creation and management of a single binding within IAM policy for an existing Google Cloud Platform Organization.

> **Note:** This resource __must not__ be used in conjunction with

`organizations.IAMMember` for the __same role__ or they will fight over
what your policy should be.

> **Note:** On create, this resource will overwrite members of any existing roles.

Use `pulumi import` and inspect the `output to ensure
your existing members are preserved.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v4/go/gcp/organizations"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := organizations.NewIAMBinding(ctx, "binding", &organizations.IAMBindingArgs{
			Members: pulumi.StringArray{
				pulumi.String("user:alice@gmail.com"),
			},
			OrgId: pulumi.String("123456789"),
			Role:  pulumi.String("roles/browser"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

IAM binding imports use space-delimited identifiers; first the resource in question and then the role.

These bindings can be imported using the `org_id` and role, e.g.

```sh

$ pulumi import gcp:organizations/iAMBinding:IAMBinding my_org "your-org-id roles/viewer"

```

-> **Custom Roles**If you're importing a IAM resource with a custom role, make sure to use the

full name of the custom role, e.g. `[projects/my-project|organizations/my-org]/roles/my-custom-role`.

func GetIAMBinding

func GetIAMBinding(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *IAMBindingState, opts ...pulumi.ResourceOption) (*IAMBinding, error)

GetIAMBinding gets an existing IAMBinding resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewIAMBinding

func NewIAMBinding(ctx *pulumi.Context,
	name string, args *IAMBindingArgs, opts ...pulumi.ResourceOption) (*IAMBinding, error)

NewIAMBinding registers a new resource with the given unique name, arguments, and options.

func (*IAMBinding) ElementType added in v4.4.0

func (*IAMBinding) ElementType() reflect.Type

func (*IAMBinding) ToIAMBindingOutput added in v4.4.0

func (i *IAMBinding) ToIAMBindingOutput() IAMBindingOutput

func (*IAMBinding) ToIAMBindingOutputWithContext added in v4.4.0

func (i *IAMBinding) ToIAMBindingOutputWithContext(ctx context.Context) IAMBindingOutput

func (*IAMBinding) ToIAMBindingPtrOutput added in v4.11.1

func (i *IAMBinding) ToIAMBindingPtrOutput() IAMBindingPtrOutput

func (*IAMBinding) ToIAMBindingPtrOutputWithContext added in v4.11.1

func (i *IAMBinding) ToIAMBindingPtrOutputWithContext(ctx context.Context) IAMBindingPtrOutput

type IAMBindingArgs

type IAMBindingArgs struct {
	Condition IAMBindingConditionPtrInput
	// A list of users that the role should apply to. For more details on format and restrictions see https://cloud.google.com/billing/reference/rest/v1/Policy#Binding
	Members pulumi.StringArrayInput
	// The numeric ID of the organization in which you want to create a custom role.
	OrgId pulumi.StringInput
	// The role that should be applied. Only one
	// `organizations.IAMBinding` can be used per role. Note that custom roles must be of the format
	// `[projects|organizations]/{parent-name}/roles/{role-name}`.
	Role pulumi.StringInput
}

The set of arguments for constructing a IAMBinding resource.

func (IAMBindingArgs) ElementType

func (IAMBindingArgs) ElementType() reflect.Type

type IAMBindingArray added in v4.11.1

type IAMBindingArray []IAMBindingInput

func (IAMBindingArray) ElementType added in v4.11.1

func (IAMBindingArray) ElementType() reflect.Type

func (IAMBindingArray) ToIAMBindingArrayOutput added in v4.11.1

func (i IAMBindingArray) ToIAMBindingArrayOutput() IAMBindingArrayOutput

func (IAMBindingArray) ToIAMBindingArrayOutputWithContext added in v4.11.1

func (i IAMBindingArray) ToIAMBindingArrayOutputWithContext(ctx context.Context) IAMBindingArrayOutput

type IAMBindingArrayInput added in v4.11.1

type IAMBindingArrayInput interface {
	pulumi.Input

	ToIAMBindingArrayOutput() IAMBindingArrayOutput
	ToIAMBindingArrayOutputWithContext(context.Context) IAMBindingArrayOutput
}

IAMBindingArrayInput is an input type that accepts IAMBindingArray and IAMBindingArrayOutput values. You can construct a concrete instance of `IAMBindingArrayInput` via:

IAMBindingArray{ IAMBindingArgs{...} }

type IAMBindingArrayOutput added in v4.11.1

type IAMBindingArrayOutput struct{ *pulumi.OutputState }

func (IAMBindingArrayOutput) ElementType added in v4.11.1

func (IAMBindingArrayOutput) ElementType() reflect.Type

func (IAMBindingArrayOutput) Index added in v4.11.1

func (IAMBindingArrayOutput) ToIAMBindingArrayOutput added in v4.11.1

func (o IAMBindingArrayOutput) ToIAMBindingArrayOutput() IAMBindingArrayOutput

func (IAMBindingArrayOutput) ToIAMBindingArrayOutputWithContext added in v4.11.1

func (o IAMBindingArrayOutput) ToIAMBindingArrayOutputWithContext(ctx context.Context) IAMBindingArrayOutput

type IAMBindingCondition

type IAMBindingCondition struct {
	Description *string `pulumi:"description"`
	Expression  string  `pulumi:"expression"`
	Title       string  `pulumi:"title"`
}

type IAMBindingConditionArgs

type IAMBindingConditionArgs struct {
	Description pulumi.StringPtrInput `pulumi:"description"`
	Expression  pulumi.StringInput    `pulumi:"expression"`
	Title       pulumi.StringInput    `pulumi:"title"`
}

func (IAMBindingConditionArgs) ElementType

func (IAMBindingConditionArgs) ElementType() reflect.Type

func (IAMBindingConditionArgs) ToIAMBindingConditionOutput

func (i IAMBindingConditionArgs) ToIAMBindingConditionOutput() IAMBindingConditionOutput

func (IAMBindingConditionArgs) ToIAMBindingConditionOutputWithContext

func (i IAMBindingConditionArgs) ToIAMBindingConditionOutputWithContext(ctx context.Context) IAMBindingConditionOutput

func (IAMBindingConditionArgs) ToIAMBindingConditionPtrOutput

func (i IAMBindingConditionArgs) ToIAMBindingConditionPtrOutput() IAMBindingConditionPtrOutput

func (IAMBindingConditionArgs) ToIAMBindingConditionPtrOutputWithContext

func (i IAMBindingConditionArgs) ToIAMBindingConditionPtrOutputWithContext(ctx context.Context) IAMBindingConditionPtrOutput

type IAMBindingConditionInput

type IAMBindingConditionInput interface {
	pulumi.Input

	ToIAMBindingConditionOutput() IAMBindingConditionOutput
	ToIAMBindingConditionOutputWithContext(context.Context) IAMBindingConditionOutput
}

IAMBindingConditionInput is an input type that accepts IAMBindingConditionArgs and IAMBindingConditionOutput values. You can construct a concrete instance of `IAMBindingConditionInput` via:

IAMBindingConditionArgs{...}

type IAMBindingConditionOutput

type IAMBindingConditionOutput struct{ *pulumi.OutputState }

func (IAMBindingConditionOutput) Description

func (IAMBindingConditionOutput) ElementType

func (IAMBindingConditionOutput) ElementType() reflect.Type

func (IAMBindingConditionOutput) Expression

func (IAMBindingConditionOutput) Title

func (IAMBindingConditionOutput) ToIAMBindingConditionOutput

func (o IAMBindingConditionOutput) ToIAMBindingConditionOutput() IAMBindingConditionOutput

func (IAMBindingConditionOutput) ToIAMBindingConditionOutputWithContext

func (o IAMBindingConditionOutput) ToIAMBindingConditionOutputWithContext(ctx context.Context) IAMBindingConditionOutput

func (IAMBindingConditionOutput) ToIAMBindingConditionPtrOutput

func (o IAMBindingConditionOutput) ToIAMBindingConditionPtrOutput() IAMBindingConditionPtrOutput

func (IAMBindingConditionOutput) ToIAMBindingConditionPtrOutputWithContext

func (o IAMBindingConditionOutput) ToIAMBindingConditionPtrOutputWithContext(ctx context.Context) IAMBindingConditionPtrOutput

type IAMBindingConditionPtrInput

type IAMBindingConditionPtrInput interface {
	pulumi.Input

	ToIAMBindingConditionPtrOutput() IAMBindingConditionPtrOutput
	ToIAMBindingConditionPtrOutputWithContext(context.Context) IAMBindingConditionPtrOutput
}

IAMBindingConditionPtrInput is an input type that accepts IAMBindingConditionArgs, IAMBindingConditionPtr and IAMBindingConditionPtrOutput values. You can construct a concrete instance of `IAMBindingConditionPtrInput` via:

        IAMBindingConditionArgs{...}

or:

        nil

type IAMBindingConditionPtrOutput

type IAMBindingConditionPtrOutput struct{ *pulumi.OutputState }

func (IAMBindingConditionPtrOutput) Description

func (IAMBindingConditionPtrOutput) Elem

func (IAMBindingConditionPtrOutput) ElementType

func (IAMBindingConditionPtrOutput) Expression

func (IAMBindingConditionPtrOutput) Title

func (IAMBindingConditionPtrOutput) ToIAMBindingConditionPtrOutput

func (o IAMBindingConditionPtrOutput) ToIAMBindingConditionPtrOutput() IAMBindingConditionPtrOutput

func (IAMBindingConditionPtrOutput) ToIAMBindingConditionPtrOutputWithContext

func (o IAMBindingConditionPtrOutput) ToIAMBindingConditionPtrOutputWithContext(ctx context.Context) IAMBindingConditionPtrOutput

type IAMBindingInput added in v4.4.0

type IAMBindingInput interface {
	pulumi.Input

	ToIAMBindingOutput() IAMBindingOutput
	ToIAMBindingOutputWithContext(ctx context.Context) IAMBindingOutput
}

type IAMBindingMap added in v4.11.1

type IAMBindingMap map[string]IAMBindingInput

func (IAMBindingMap) ElementType added in v4.11.1

func (IAMBindingMap) ElementType() reflect.Type

func (IAMBindingMap) ToIAMBindingMapOutput added in v4.11.1

func (i IAMBindingMap) ToIAMBindingMapOutput() IAMBindingMapOutput

func (IAMBindingMap) ToIAMBindingMapOutputWithContext added in v4.11.1

func (i IAMBindingMap) ToIAMBindingMapOutputWithContext(ctx context.Context) IAMBindingMapOutput

type IAMBindingMapInput added in v4.11.1

type IAMBindingMapInput interface {
	pulumi.Input

	ToIAMBindingMapOutput() IAMBindingMapOutput
	ToIAMBindingMapOutputWithContext(context.Context) IAMBindingMapOutput
}

IAMBindingMapInput is an input type that accepts IAMBindingMap and IAMBindingMapOutput values. You can construct a concrete instance of `IAMBindingMapInput` via:

IAMBindingMap{ "key": IAMBindingArgs{...} }

type IAMBindingMapOutput added in v4.11.1

type IAMBindingMapOutput struct{ *pulumi.OutputState }

func (IAMBindingMapOutput) ElementType added in v4.11.1

func (IAMBindingMapOutput) ElementType() reflect.Type

func (IAMBindingMapOutput) MapIndex added in v4.11.1

func (IAMBindingMapOutput) ToIAMBindingMapOutput added in v4.11.1

func (o IAMBindingMapOutput) ToIAMBindingMapOutput() IAMBindingMapOutput

func (IAMBindingMapOutput) ToIAMBindingMapOutputWithContext added in v4.11.1

func (o IAMBindingMapOutput) ToIAMBindingMapOutputWithContext(ctx context.Context) IAMBindingMapOutput

type IAMBindingOutput added in v4.4.0

type IAMBindingOutput struct {
	*pulumi.OutputState
}

func (IAMBindingOutput) ElementType added in v4.4.0

func (IAMBindingOutput) ElementType() reflect.Type

func (IAMBindingOutput) ToIAMBindingOutput added in v4.4.0

func (o IAMBindingOutput) ToIAMBindingOutput() IAMBindingOutput

func (IAMBindingOutput) ToIAMBindingOutputWithContext added in v4.4.0

func (o IAMBindingOutput) ToIAMBindingOutputWithContext(ctx context.Context) IAMBindingOutput

func (IAMBindingOutput) ToIAMBindingPtrOutput added in v4.11.1

func (o IAMBindingOutput) ToIAMBindingPtrOutput() IAMBindingPtrOutput

func (IAMBindingOutput) ToIAMBindingPtrOutputWithContext added in v4.11.1

func (o IAMBindingOutput) ToIAMBindingPtrOutputWithContext(ctx context.Context) IAMBindingPtrOutput

type IAMBindingPtrInput added in v4.11.1

type IAMBindingPtrInput interface {
	pulumi.Input

	ToIAMBindingPtrOutput() IAMBindingPtrOutput
	ToIAMBindingPtrOutputWithContext(ctx context.Context) IAMBindingPtrOutput
}

type IAMBindingPtrOutput added in v4.11.1

type IAMBindingPtrOutput struct {
	*pulumi.OutputState
}

func (IAMBindingPtrOutput) ElementType added in v4.11.1

func (IAMBindingPtrOutput) ElementType() reflect.Type

func (IAMBindingPtrOutput) ToIAMBindingPtrOutput added in v4.11.1

func (o IAMBindingPtrOutput) ToIAMBindingPtrOutput() IAMBindingPtrOutput

func (IAMBindingPtrOutput) ToIAMBindingPtrOutputWithContext added in v4.11.1

func (o IAMBindingPtrOutput) ToIAMBindingPtrOutputWithContext(ctx context.Context) IAMBindingPtrOutput

type IAMBindingState

type IAMBindingState struct {
	Condition IAMBindingConditionPtrInput
	// (Computed) The etag of the organization's IAM policy.
	Etag pulumi.StringPtrInput
	// A list of users that the role should apply to. For more details on format and restrictions see https://cloud.google.com/billing/reference/rest/v1/Policy#Binding
	Members pulumi.StringArrayInput
	// The numeric ID of the organization in which you want to create a custom role.
	OrgId pulumi.StringPtrInput
	// The role that should be applied. Only one
	// `organizations.IAMBinding` can be used per role. Note that custom roles must be of the format
	// `[projects|organizations]/{parent-name}/roles/{role-name}`.
	Role pulumi.StringPtrInput
}

func (IAMBindingState) ElementType

func (IAMBindingState) ElementType() reflect.Type

type IAMCustomRole

type IAMCustomRole struct {
	pulumi.CustomResourceState

	// (Optional) The current deleted state of the role.
	Deleted pulumi.BoolOutput `pulumi:"deleted"`
	// A human-readable description for the role.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// The name of the role in the format `organizations/{{org_id}}/roles/{{role_id}}`. Like `id`, this field can be used as a reference in other resources such as IAM role bindings.
	Name pulumi.StringOutput `pulumi:"name"`
	// The numeric ID of the organization in which you want to create a custom role.
	OrgId pulumi.StringOutput `pulumi:"orgId"`
	// The names of the permissions this role grants when bound in an IAM policy. At least one permission must be specified.
	Permissions pulumi.StringArrayOutput `pulumi:"permissions"`
	// The role id to use for this role.
	RoleId pulumi.StringOutput `pulumi:"roleId"`
	// The current launch stage of the role.
	// Defaults to `GA`.
	// List of possible stages is [here](https://cloud.google.com/iam/reference/rest/v1/organizations.roles#Role.RoleLaunchStage).
	Stage pulumi.StringPtrOutput `pulumi:"stage"`
	// A human-readable title for the role.
	Title pulumi.StringOutput `pulumi:"title"`
}

Allows management of a customized Cloud IAM organization role. For more information see [the official documentation](https://cloud.google.com/iam/docs/understanding-custom-roles) and [API](https://cloud.google.com/iam/reference/rest/v1/organizations.roles).

> **Warning:** Note that custom roles in GCP have the concept of a soft-delete. There are two issues that may arise

from this and how roles are propagated. 1) creating a role may involve undeleting and then updating a role with the
same name, possibly causing confusing behavior between undelete and update. 2) A deleted role is permanently deleted
after 7 days, but it can take up to 30 more days (i.e. between 7 and 37 days after deletion) before the role name is
made available again. This means a deleted role that has been deleted for more than 7 days cannot be changed at all
by the provider, and new roles cannot share that name.

## Example Usage

This snippet creates a customized IAM organization role.

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v4/go/gcp/organizations"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := organizations.NewIAMCustomRole(ctx, "my_custom_role", &organizations.IAMCustomRoleArgs{
			Description: pulumi.String("A description"),
			OrgId:       pulumi.String("123456789"),
			Permissions: pulumi.StringArray{
				pulumi.String("iam.roles.list"),
				pulumi.String("iam.roles.create"),
				pulumi.String("iam.roles.delete"),
			},
			RoleId: pulumi.String("myCustomRole"),
			Title:  pulumi.String("My Custom Role"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Customized IAM organization role can be imported using their URI, e.g.

```sh

$ pulumi import gcp:organizations/iAMCustomRole:IAMCustomRole my-custom-role organizations/123456789/roles/myCustomRole

```

func GetIAMCustomRole

func GetIAMCustomRole(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *IAMCustomRoleState, opts ...pulumi.ResourceOption) (*IAMCustomRole, error)

GetIAMCustomRole gets an existing IAMCustomRole resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewIAMCustomRole

func NewIAMCustomRole(ctx *pulumi.Context,
	name string, args *IAMCustomRoleArgs, opts ...pulumi.ResourceOption) (*IAMCustomRole, error)

NewIAMCustomRole registers a new resource with the given unique name, arguments, and options.

func (*IAMCustomRole) ElementType added in v4.4.0

func (*IAMCustomRole) ElementType() reflect.Type

func (*IAMCustomRole) ToIAMCustomRoleOutput added in v4.4.0

func (i *IAMCustomRole) ToIAMCustomRoleOutput() IAMCustomRoleOutput

func (*IAMCustomRole) ToIAMCustomRoleOutputWithContext added in v4.4.0

func (i *IAMCustomRole) ToIAMCustomRoleOutputWithContext(ctx context.Context) IAMCustomRoleOutput

func (*IAMCustomRole) ToIAMCustomRolePtrOutput added in v4.11.1

func (i *IAMCustomRole) ToIAMCustomRolePtrOutput() IAMCustomRolePtrOutput

func (*IAMCustomRole) ToIAMCustomRolePtrOutputWithContext added in v4.11.1

func (i *IAMCustomRole) ToIAMCustomRolePtrOutputWithContext(ctx context.Context) IAMCustomRolePtrOutput

type IAMCustomRoleArgs

type IAMCustomRoleArgs struct {
	// A human-readable description for the role.
	Description pulumi.StringPtrInput
	// The numeric ID of the organization in which you want to create a custom role.
	OrgId pulumi.StringInput
	// The names of the permissions this role grants when bound in an IAM policy. At least one permission must be specified.
	Permissions pulumi.StringArrayInput
	// The role id to use for this role.
	RoleId pulumi.StringInput
	// The current launch stage of the role.
	// Defaults to `GA`.
	// List of possible stages is [here](https://cloud.google.com/iam/reference/rest/v1/organizations.roles#Role.RoleLaunchStage).
	Stage pulumi.StringPtrInput
	// A human-readable title for the role.
	Title pulumi.StringInput
}

The set of arguments for constructing a IAMCustomRole resource.

func (IAMCustomRoleArgs) ElementType

func (IAMCustomRoleArgs) ElementType() reflect.Type

type IAMCustomRoleArray added in v4.11.1

type IAMCustomRoleArray []IAMCustomRoleInput

func (IAMCustomRoleArray) ElementType added in v4.11.1

func (IAMCustomRoleArray) ElementType() reflect.Type

func (IAMCustomRoleArray) ToIAMCustomRoleArrayOutput added in v4.11.1

func (i IAMCustomRoleArray) ToIAMCustomRoleArrayOutput() IAMCustomRoleArrayOutput

func (IAMCustomRoleArray) ToIAMCustomRoleArrayOutputWithContext added in v4.11.1

func (i IAMCustomRoleArray) ToIAMCustomRoleArrayOutputWithContext(ctx context.Context) IAMCustomRoleArrayOutput

type IAMCustomRoleArrayInput added in v4.11.1

type IAMCustomRoleArrayInput interface {
	pulumi.Input

	ToIAMCustomRoleArrayOutput() IAMCustomRoleArrayOutput
	ToIAMCustomRoleArrayOutputWithContext(context.Context) IAMCustomRoleArrayOutput
}

IAMCustomRoleArrayInput is an input type that accepts IAMCustomRoleArray and IAMCustomRoleArrayOutput values. You can construct a concrete instance of `IAMCustomRoleArrayInput` via:

IAMCustomRoleArray{ IAMCustomRoleArgs{...} }

type IAMCustomRoleArrayOutput added in v4.11.1

type IAMCustomRoleArrayOutput struct{ *pulumi.OutputState }

func (IAMCustomRoleArrayOutput) ElementType added in v4.11.1

func (IAMCustomRoleArrayOutput) ElementType() reflect.Type

func (IAMCustomRoleArrayOutput) Index added in v4.11.1

func (IAMCustomRoleArrayOutput) ToIAMCustomRoleArrayOutput added in v4.11.1

func (o IAMCustomRoleArrayOutput) ToIAMCustomRoleArrayOutput() IAMCustomRoleArrayOutput

func (IAMCustomRoleArrayOutput) ToIAMCustomRoleArrayOutputWithContext added in v4.11.1

func (o IAMCustomRoleArrayOutput) ToIAMCustomRoleArrayOutputWithContext(ctx context.Context) IAMCustomRoleArrayOutput

type IAMCustomRoleInput added in v4.4.0

type IAMCustomRoleInput interface {
	pulumi.Input

	ToIAMCustomRoleOutput() IAMCustomRoleOutput
	ToIAMCustomRoleOutputWithContext(ctx context.Context) IAMCustomRoleOutput
}

type IAMCustomRoleMap added in v4.11.1

type IAMCustomRoleMap map[string]IAMCustomRoleInput

func (IAMCustomRoleMap) ElementType added in v4.11.1

func (IAMCustomRoleMap) ElementType() reflect.Type

func (IAMCustomRoleMap) ToIAMCustomRoleMapOutput added in v4.11.1

func (i IAMCustomRoleMap) ToIAMCustomRoleMapOutput() IAMCustomRoleMapOutput

func (IAMCustomRoleMap) ToIAMCustomRoleMapOutputWithContext added in v4.11.1

func (i IAMCustomRoleMap) ToIAMCustomRoleMapOutputWithContext(ctx context.Context) IAMCustomRoleMapOutput

type IAMCustomRoleMapInput added in v4.11.1

type IAMCustomRoleMapInput interface {
	pulumi.Input

	ToIAMCustomRoleMapOutput() IAMCustomRoleMapOutput
	ToIAMCustomRoleMapOutputWithContext(context.Context) IAMCustomRoleMapOutput
}

IAMCustomRoleMapInput is an input type that accepts IAMCustomRoleMap and IAMCustomRoleMapOutput values. You can construct a concrete instance of `IAMCustomRoleMapInput` via:

IAMCustomRoleMap{ "key": IAMCustomRoleArgs{...} }

type IAMCustomRoleMapOutput added in v4.11.1

type IAMCustomRoleMapOutput struct{ *pulumi.OutputState }

func (IAMCustomRoleMapOutput) ElementType added in v4.11.1

func (IAMCustomRoleMapOutput) ElementType() reflect.Type

func (IAMCustomRoleMapOutput) MapIndex added in v4.11.1

func (IAMCustomRoleMapOutput) ToIAMCustomRoleMapOutput added in v4.11.1

func (o IAMCustomRoleMapOutput) ToIAMCustomRoleMapOutput() IAMCustomRoleMapOutput

func (IAMCustomRoleMapOutput) ToIAMCustomRoleMapOutputWithContext added in v4.11.1

func (o IAMCustomRoleMapOutput) ToIAMCustomRoleMapOutputWithContext(ctx context.Context) IAMCustomRoleMapOutput

type IAMCustomRoleOutput added in v4.4.0

type IAMCustomRoleOutput struct {
	*pulumi.OutputState
}

func (IAMCustomRoleOutput) ElementType added in v4.4.0

func (IAMCustomRoleOutput) ElementType() reflect.Type

func (IAMCustomRoleOutput) ToIAMCustomRoleOutput added in v4.4.0

func (o IAMCustomRoleOutput) ToIAMCustomRoleOutput() IAMCustomRoleOutput

func (IAMCustomRoleOutput) ToIAMCustomRoleOutputWithContext added in v4.4.0

func (o IAMCustomRoleOutput) ToIAMCustomRoleOutputWithContext(ctx context.Context) IAMCustomRoleOutput

func (IAMCustomRoleOutput) ToIAMCustomRolePtrOutput added in v4.11.1

func (o IAMCustomRoleOutput) ToIAMCustomRolePtrOutput() IAMCustomRolePtrOutput

func (IAMCustomRoleOutput) ToIAMCustomRolePtrOutputWithContext added in v4.11.1

func (o IAMCustomRoleOutput) ToIAMCustomRolePtrOutputWithContext(ctx context.Context) IAMCustomRolePtrOutput

type IAMCustomRolePtrInput added in v4.11.1

type IAMCustomRolePtrInput interface {
	pulumi.Input

	ToIAMCustomRolePtrOutput() IAMCustomRolePtrOutput
	ToIAMCustomRolePtrOutputWithContext(ctx context.Context) IAMCustomRolePtrOutput
}

type IAMCustomRolePtrOutput added in v4.11.1

type IAMCustomRolePtrOutput struct {
	*pulumi.OutputState
}

func (IAMCustomRolePtrOutput) ElementType added in v4.11.1

func (IAMCustomRolePtrOutput) ElementType() reflect.Type

func (IAMCustomRolePtrOutput) ToIAMCustomRolePtrOutput added in v4.11.1

func (o IAMCustomRolePtrOutput) ToIAMCustomRolePtrOutput() IAMCustomRolePtrOutput

func (IAMCustomRolePtrOutput) ToIAMCustomRolePtrOutputWithContext added in v4.11.1

func (o IAMCustomRolePtrOutput) ToIAMCustomRolePtrOutputWithContext(ctx context.Context) IAMCustomRolePtrOutput

type IAMCustomRoleState

type IAMCustomRoleState struct {
	// (Optional) The current deleted state of the role.
	Deleted pulumi.BoolPtrInput
	// A human-readable description for the role.
	Description pulumi.StringPtrInput
	// The name of the role in the format `organizations/{{org_id}}/roles/{{role_id}}`. Like `id`, this field can be used as a reference in other resources such as IAM role bindings.
	Name pulumi.StringPtrInput
	// The numeric ID of the organization in which you want to create a custom role.
	OrgId pulumi.StringPtrInput
	// The names of the permissions this role grants when bound in an IAM policy. At least one permission must be specified.
	Permissions pulumi.StringArrayInput
	// The role id to use for this role.
	RoleId pulumi.StringPtrInput
	// The current launch stage of the role.
	// Defaults to `GA`.
	// List of possible stages is [here](https://cloud.google.com/iam/reference/rest/v1/organizations.roles#Role.RoleLaunchStage).
	Stage pulumi.StringPtrInput
	// A human-readable title for the role.
	Title pulumi.StringPtrInput
}

func (IAMCustomRoleState) ElementType

func (IAMCustomRoleState) ElementType() reflect.Type

type IAMMember

type IAMMember struct {
	pulumi.CustomResourceState

	Condition IAMMemberConditionPtrOutput `pulumi:"condition"`
	Etag      pulumi.StringOutput         `pulumi:"etag"`
	Member    pulumi.StringOutput         `pulumi:"member"`
	// The numeric ID of the organization in which you want to manage the audit logging config.
	OrgId pulumi.StringOutput `pulumi:"orgId"`
	Role  pulumi.StringOutput `pulumi:"role"`
}

func GetIAMMember

func GetIAMMember(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *IAMMemberState, opts ...pulumi.ResourceOption) (*IAMMember, error)

GetIAMMember gets an existing IAMMember resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewIAMMember

func NewIAMMember(ctx *pulumi.Context,
	name string, args *IAMMemberArgs, opts ...pulumi.ResourceOption) (*IAMMember, error)

NewIAMMember registers a new resource with the given unique name, arguments, and options.

func (*IAMMember) ElementType added in v4.4.0

func (*IAMMember) ElementType() reflect.Type

func (*IAMMember) ToIAMMemberOutput added in v4.4.0

func (i *IAMMember) ToIAMMemberOutput() IAMMemberOutput

func (*IAMMember) ToIAMMemberOutputWithContext added in v4.4.0

func (i *IAMMember) ToIAMMemberOutputWithContext(ctx context.Context) IAMMemberOutput

func (*IAMMember) ToIAMMemberPtrOutput added in v4.11.1

func (i *IAMMember) ToIAMMemberPtrOutput() IAMMemberPtrOutput

func (*IAMMember) ToIAMMemberPtrOutputWithContext added in v4.11.1

func (i *IAMMember) ToIAMMemberPtrOutputWithContext(ctx context.Context) IAMMemberPtrOutput

type IAMMemberArgs

type IAMMemberArgs struct {
	Condition IAMMemberConditionPtrInput
	Member    pulumi.StringInput
	// The numeric ID of the organization in which you want to manage the audit logging config.
	OrgId pulumi.StringInput
	Role  pulumi.StringInput
}

The set of arguments for constructing a IAMMember resource.

func (IAMMemberArgs) ElementType

func (IAMMemberArgs) ElementType() reflect.Type

type IAMMemberArray added in v4.11.1

type IAMMemberArray []IAMMemberInput

func (IAMMemberArray) ElementType added in v4.11.1

func (IAMMemberArray) ElementType() reflect.Type

func (IAMMemberArray) ToIAMMemberArrayOutput added in v4.11.1

func (i IAMMemberArray) ToIAMMemberArrayOutput() IAMMemberArrayOutput

func (IAMMemberArray) ToIAMMemberArrayOutputWithContext added in v4.11.1

func (i IAMMemberArray) ToIAMMemberArrayOutputWithContext(ctx context.Context) IAMMemberArrayOutput

type IAMMemberArrayInput added in v4.11.1

type IAMMemberArrayInput interface {
	pulumi.Input

	ToIAMMemberArrayOutput() IAMMemberArrayOutput
	ToIAMMemberArrayOutputWithContext(context.Context) IAMMemberArrayOutput
}

IAMMemberArrayInput is an input type that accepts IAMMemberArray and IAMMemberArrayOutput values. You can construct a concrete instance of `IAMMemberArrayInput` via:

IAMMemberArray{ IAMMemberArgs{...} }

type IAMMemberArrayOutput added in v4.11.1

type IAMMemberArrayOutput struct{ *pulumi.OutputState }

func (IAMMemberArrayOutput) ElementType added in v4.11.1

func (IAMMemberArrayOutput) ElementType() reflect.Type

func (IAMMemberArrayOutput) Index added in v4.11.1

func (IAMMemberArrayOutput) ToIAMMemberArrayOutput added in v4.11.1

func (o IAMMemberArrayOutput) ToIAMMemberArrayOutput() IAMMemberArrayOutput

func (IAMMemberArrayOutput) ToIAMMemberArrayOutputWithContext added in v4.11.1

func (o IAMMemberArrayOutput) ToIAMMemberArrayOutputWithContext(ctx context.Context) IAMMemberArrayOutput

type IAMMemberCondition

type IAMMemberCondition struct {
	Description *string `pulumi:"description"`
	Expression  string  `pulumi:"expression"`
	Title       string  `pulumi:"title"`
}

type IAMMemberConditionArgs

type IAMMemberConditionArgs struct {
	Description pulumi.StringPtrInput `pulumi:"description"`
	Expression  pulumi.StringInput    `pulumi:"expression"`
	Title       pulumi.StringInput    `pulumi:"title"`
}

func (IAMMemberConditionArgs) ElementType

func (IAMMemberConditionArgs) ElementType() reflect.Type

func (IAMMemberConditionArgs) ToIAMMemberConditionOutput

func (i IAMMemberConditionArgs) ToIAMMemberConditionOutput() IAMMemberConditionOutput

func (IAMMemberConditionArgs) ToIAMMemberConditionOutputWithContext

func (i IAMMemberConditionArgs) ToIAMMemberConditionOutputWithContext(ctx context.Context) IAMMemberConditionOutput

func (IAMMemberConditionArgs) ToIAMMemberConditionPtrOutput

func (i IAMMemberConditionArgs) ToIAMMemberConditionPtrOutput() IAMMemberConditionPtrOutput

func (IAMMemberConditionArgs) ToIAMMemberConditionPtrOutputWithContext

func (i IAMMemberConditionArgs) ToIAMMemberConditionPtrOutputWithContext(ctx context.Context) IAMMemberConditionPtrOutput

type IAMMemberConditionInput

type IAMMemberConditionInput interface {
	pulumi.Input

	ToIAMMemberConditionOutput() IAMMemberConditionOutput
	ToIAMMemberConditionOutputWithContext(context.Context) IAMMemberConditionOutput
}

IAMMemberConditionInput is an input type that accepts IAMMemberConditionArgs and IAMMemberConditionOutput values. You can construct a concrete instance of `IAMMemberConditionInput` via:

IAMMemberConditionArgs{...}

type IAMMemberConditionOutput

type IAMMemberConditionOutput struct{ *pulumi.OutputState }

func (IAMMemberConditionOutput) Description

func (IAMMemberConditionOutput) ElementType

func (IAMMemberConditionOutput) ElementType() reflect.Type

func (IAMMemberConditionOutput) Expression

func (IAMMemberConditionOutput) Title

func (IAMMemberConditionOutput) ToIAMMemberConditionOutput

func (o IAMMemberConditionOutput) ToIAMMemberConditionOutput() IAMMemberConditionOutput

func (IAMMemberConditionOutput) ToIAMMemberConditionOutputWithContext

func (o IAMMemberConditionOutput) ToIAMMemberConditionOutputWithContext(ctx context.Context) IAMMemberConditionOutput

func (IAMMemberConditionOutput) ToIAMMemberConditionPtrOutput

func (o IAMMemberConditionOutput) ToIAMMemberConditionPtrOutput() IAMMemberConditionPtrOutput

func (IAMMemberConditionOutput) ToIAMMemberConditionPtrOutputWithContext

func (o IAMMemberConditionOutput) ToIAMMemberConditionPtrOutputWithContext(ctx context.Context) IAMMemberConditionPtrOutput

type IAMMemberConditionPtrInput

type IAMMemberConditionPtrInput interface {
	pulumi.Input

	ToIAMMemberConditionPtrOutput() IAMMemberConditionPtrOutput
	ToIAMMemberConditionPtrOutputWithContext(context.Context) IAMMemberConditionPtrOutput
}

IAMMemberConditionPtrInput is an input type that accepts IAMMemberConditionArgs, IAMMemberConditionPtr and IAMMemberConditionPtrOutput values. You can construct a concrete instance of `IAMMemberConditionPtrInput` via:

        IAMMemberConditionArgs{...}

or:

        nil

type IAMMemberConditionPtrOutput

type IAMMemberConditionPtrOutput struct{ *pulumi.OutputState }

func (IAMMemberConditionPtrOutput) Description

func (IAMMemberConditionPtrOutput) Elem

func (IAMMemberConditionPtrOutput) ElementType

func (IAMMemberConditionPtrOutput) Expression

func (IAMMemberConditionPtrOutput) Title

func (IAMMemberConditionPtrOutput) ToIAMMemberConditionPtrOutput

func (o IAMMemberConditionPtrOutput) ToIAMMemberConditionPtrOutput() IAMMemberConditionPtrOutput

func (IAMMemberConditionPtrOutput) ToIAMMemberConditionPtrOutputWithContext

func (o IAMMemberConditionPtrOutput) ToIAMMemberConditionPtrOutputWithContext(ctx context.Context) IAMMemberConditionPtrOutput

type IAMMemberInput added in v4.4.0

type IAMMemberInput interface {
	pulumi.Input

	ToIAMMemberOutput() IAMMemberOutput
	ToIAMMemberOutputWithContext(ctx context.Context) IAMMemberOutput
}

type IAMMemberMap added in v4.11.1

type IAMMemberMap map[string]IAMMemberInput

func (IAMMemberMap) ElementType added in v4.11.1

func (IAMMemberMap) ElementType() reflect.Type

func (IAMMemberMap) ToIAMMemberMapOutput added in v4.11.1

func (i IAMMemberMap) ToIAMMemberMapOutput() IAMMemberMapOutput

func (IAMMemberMap) ToIAMMemberMapOutputWithContext added in v4.11.1

func (i IAMMemberMap) ToIAMMemberMapOutputWithContext(ctx context.Context) IAMMemberMapOutput

type IAMMemberMapInput added in v4.11.1

type IAMMemberMapInput interface {
	pulumi.Input

	ToIAMMemberMapOutput() IAMMemberMapOutput
	ToIAMMemberMapOutputWithContext(context.Context) IAMMemberMapOutput
}

IAMMemberMapInput is an input type that accepts IAMMemberMap and IAMMemberMapOutput values. You can construct a concrete instance of `IAMMemberMapInput` via:

IAMMemberMap{ "key": IAMMemberArgs{...} }

type IAMMemberMapOutput added in v4.11.1

type IAMMemberMapOutput struct{ *pulumi.OutputState }

func (IAMMemberMapOutput) ElementType added in v4.11.1

func (IAMMemberMapOutput) ElementType() reflect.Type

func (IAMMemberMapOutput) MapIndex added in v4.11.1

func (IAMMemberMapOutput) ToIAMMemberMapOutput added in v4.11.1

func (o IAMMemberMapOutput) ToIAMMemberMapOutput() IAMMemberMapOutput

func (IAMMemberMapOutput) ToIAMMemberMapOutputWithContext added in v4.11.1

func (o IAMMemberMapOutput) ToIAMMemberMapOutputWithContext(ctx context.Context) IAMMemberMapOutput

type IAMMemberOutput added in v4.4.0

type IAMMemberOutput struct {
	*pulumi.OutputState
}

func (IAMMemberOutput) ElementType added in v4.4.0

func (IAMMemberOutput) ElementType() reflect.Type

func (IAMMemberOutput) ToIAMMemberOutput added in v4.4.0

func (o IAMMemberOutput) ToIAMMemberOutput() IAMMemberOutput

func (IAMMemberOutput) ToIAMMemberOutputWithContext added in v4.4.0

func (o IAMMemberOutput) ToIAMMemberOutputWithContext(ctx context.Context) IAMMemberOutput

func (IAMMemberOutput) ToIAMMemberPtrOutput added in v4.11.1

func (o IAMMemberOutput) ToIAMMemberPtrOutput() IAMMemberPtrOutput

func (IAMMemberOutput) ToIAMMemberPtrOutputWithContext added in v4.11.1

func (o IAMMemberOutput) ToIAMMemberPtrOutputWithContext(ctx context.Context) IAMMemberPtrOutput

type IAMMemberPtrInput added in v4.11.1

type IAMMemberPtrInput interface {
	pulumi.Input

	ToIAMMemberPtrOutput() IAMMemberPtrOutput
	ToIAMMemberPtrOutputWithContext(ctx context.Context) IAMMemberPtrOutput
}

type IAMMemberPtrOutput added in v4.11.1

type IAMMemberPtrOutput struct {
	*pulumi.OutputState
}

func (IAMMemberPtrOutput) ElementType added in v4.11.1

func (IAMMemberPtrOutput) ElementType() reflect.Type

func (IAMMemberPtrOutput) ToIAMMemberPtrOutput added in v4.11.1

func (o IAMMemberPtrOutput) ToIAMMemberPtrOutput() IAMMemberPtrOutput

func (IAMMemberPtrOutput) ToIAMMemberPtrOutputWithContext added in v4.11.1

func (o IAMMemberPtrOutput) ToIAMMemberPtrOutputWithContext(ctx context.Context) IAMMemberPtrOutput

type IAMMemberState

type IAMMemberState struct {
	Condition IAMMemberConditionPtrInput
	Etag      pulumi.StringPtrInput
	Member    pulumi.StringPtrInput
	// The numeric ID of the organization in which you want to manage the audit logging config.
	OrgId pulumi.StringPtrInput
	Role  pulumi.StringPtrInput
}

func (IAMMemberState) ElementType

func (IAMMemberState) ElementType() reflect.Type

type IAMPolicy

type IAMPolicy struct {
	pulumi.CustomResourceState

	Etag pulumi.StringOutput `pulumi:"etag"`
	// The numeric ID of the organization in which you want to manage the audit logging config.
	OrgId      pulumi.StringOutput `pulumi:"orgId"`
	PolicyData pulumi.StringOutput `pulumi:"policyData"`
}

func GetIAMPolicy

func GetIAMPolicy(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *IAMPolicyState, opts ...pulumi.ResourceOption) (*IAMPolicy, error)

GetIAMPolicy gets an existing IAMPolicy resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewIAMPolicy

func NewIAMPolicy(ctx *pulumi.Context,
	name string, args *IAMPolicyArgs, opts ...pulumi.ResourceOption) (*IAMPolicy, error)

NewIAMPolicy registers a new resource with the given unique name, arguments, and options.

func (*IAMPolicy) ElementType added in v4.4.0

func (*IAMPolicy) ElementType() reflect.Type

func (*IAMPolicy) ToIAMPolicyOutput added in v4.4.0

func (i *IAMPolicy) ToIAMPolicyOutput() IAMPolicyOutput

func (*IAMPolicy) ToIAMPolicyOutputWithContext added in v4.4.0

func (i *IAMPolicy) ToIAMPolicyOutputWithContext(ctx context.Context) IAMPolicyOutput

func (*IAMPolicy) ToIAMPolicyPtrOutput added in v4.11.1

func (i *IAMPolicy) ToIAMPolicyPtrOutput() IAMPolicyPtrOutput

func (*IAMPolicy) ToIAMPolicyPtrOutputWithContext added in v4.11.1

func (i *IAMPolicy) ToIAMPolicyPtrOutputWithContext(ctx context.Context) IAMPolicyPtrOutput

type IAMPolicyArgs

type IAMPolicyArgs struct {
	// The numeric ID of the organization in which you want to manage the audit logging config.
	OrgId      pulumi.StringInput
	PolicyData pulumi.StringInput
}

The set of arguments for constructing a IAMPolicy resource.

func (IAMPolicyArgs) ElementType

func (IAMPolicyArgs) ElementType() reflect.Type

type IAMPolicyArray added in v4.11.1

type IAMPolicyArray []IAMPolicyInput

func (IAMPolicyArray) ElementType added in v4.11.1

func (IAMPolicyArray) ElementType() reflect.Type

func (IAMPolicyArray) ToIAMPolicyArrayOutput added in v4.11.1

func (i IAMPolicyArray) ToIAMPolicyArrayOutput() IAMPolicyArrayOutput

func (IAMPolicyArray) ToIAMPolicyArrayOutputWithContext added in v4.11.1

func (i IAMPolicyArray) ToIAMPolicyArrayOutputWithContext(ctx context.Context) IAMPolicyArrayOutput

type IAMPolicyArrayInput added in v4.11.1

type IAMPolicyArrayInput interface {
	pulumi.Input

	ToIAMPolicyArrayOutput() IAMPolicyArrayOutput
	ToIAMPolicyArrayOutputWithContext(context.Context) IAMPolicyArrayOutput
}

IAMPolicyArrayInput is an input type that accepts IAMPolicyArray and IAMPolicyArrayOutput values. You can construct a concrete instance of `IAMPolicyArrayInput` via:

IAMPolicyArray{ IAMPolicyArgs{...} }

type IAMPolicyArrayOutput added in v4.11.1

type IAMPolicyArrayOutput struct{ *pulumi.OutputState }

func (IAMPolicyArrayOutput) ElementType added in v4.11.1

func (IAMPolicyArrayOutput) ElementType() reflect.Type

func (IAMPolicyArrayOutput) Index added in v4.11.1

func (IAMPolicyArrayOutput) ToIAMPolicyArrayOutput added in v4.11.1

func (o IAMPolicyArrayOutput) ToIAMPolicyArrayOutput() IAMPolicyArrayOutput

func (IAMPolicyArrayOutput) ToIAMPolicyArrayOutputWithContext added in v4.11.1

func (o IAMPolicyArrayOutput) ToIAMPolicyArrayOutputWithContext(ctx context.Context) IAMPolicyArrayOutput

type IAMPolicyInput added in v4.4.0

type IAMPolicyInput interface {
	pulumi.Input

	ToIAMPolicyOutput() IAMPolicyOutput
	ToIAMPolicyOutputWithContext(ctx context.Context) IAMPolicyOutput
}

type IAMPolicyMap added in v4.11.1

type IAMPolicyMap map[string]IAMPolicyInput

func (IAMPolicyMap) ElementType added in v4.11.1

func (IAMPolicyMap) ElementType() reflect.Type

func (IAMPolicyMap) ToIAMPolicyMapOutput added in v4.11.1

func (i IAMPolicyMap) ToIAMPolicyMapOutput() IAMPolicyMapOutput

func (IAMPolicyMap) ToIAMPolicyMapOutputWithContext added in v4.11.1

func (i IAMPolicyMap) ToIAMPolicyMapOutputWithContext(ctx context.Context) IAMPolicyMapOutput

type IAMPolicyMapInput added in v4.11.1

type IAMPolicyMapInput interface {
	pulumi.Input

	ToIAMPolicyMapOutput() IAMPolicyMapOutput
	ToIAMPolicyMapOutputWithContext(context.Context) IAMPolicyMapOutput
}

IAMPolicyMapInput is an input type that accepts IAMPolicyMap and IAMPolicyMapOutput values. You can construct a concrete instance of `IAMPolicyMapInput` via:

IAMPolicyMap{ "key": IAMPolicyArgs{...} }

type IAMPolicyMapOutput added in v4.11.1

type IAMPolicyMapOutput struct{ *pulumi.OutputState }

func (IAMPolicyMapOutput) ElementType added in v4.11.1

func (IAMPolicyMapOutput) ElementType() reflect.Type

func (IAMPolicyMapOutput) MapIndex added in v4.11.1

func (IAMPolicyMapOutput) ToIAMPolicyMapOutput added in v4.11.1

func (o IAMPolicyMapOutput) ToIAMPolicyMapOutput() IAMPolicyMapOutput

func (IAMPolicyMapOutput) ToIAMPolicyMapOutputWithContext added in v4.11.1

func (o IAMPolicyMapOutput) ToIAMPolicyMapOutputWithContext(ctx context.Context) IAMPolicyMapOutput

type IAMPolicyOutput added in v4.4.0

type IAMPolicyOutput struct {
	*pulumi.OutputState
}

func (IAMPolicyOutput) ElementType added in v4.4.0

func (IAMPolicyOutput) ElementType() reflect.Type

func (IAMPolicyOutput) ToIAMPolicyOutput added in v4.4.0

func (o IAMPolicyOutput) ToIAMPolicyOutput() IAMPolicyOutput

func (IAMPolicyOutput) ToIAMPolicyOutputWithContext added in v4.4.0

func (o IAMPolicyOutput) ToIAMPolicyOutputWithContext(ctx context.Context) IAMPolicyOutput

func (IAMPolicyOutput) ToIAMPolicyPtrOutput added in v4.11.1

func (o IAMPolicyOutput) ToIAMPolicyPtrOutput() IAMPolicyPtrOutput

func (IAMPolicyOutput) ToIAMPolicyPtrOutputWithContext added in v4.11.1

func (o IAMPolicyOutput) ToIAMPolicyPtrOutputWithContext(ctx context.Context) IAMPolicyPtrOutput

type IAMPolicyPtrInput added in v4.11.1

type IAMPolicyPtrInput interface {
	pulumi.Input

	ToIAMPolicyPtrOutput() IAMPolicyPtrOutput
	ToIAMPolicyPtrOutputWithContext(ctx context.Context) IAMPolicyPtrOutput
}

type IAMPolicyPtrOutput added in v4.11.1

type IAMPolicyPtrOutput struct {
	*pulumi.OutputState
}

func (IAMPolicyPtrOutput) ElementType added in v4.11.1

func (IAMPolicyPtrOutput) ElementType() reflect.Type

func (IAMPolicyPtrOutput) ToIAMPolicyPtrOutput added in v4.11.1

func (o IAMPolicyPtrOutput) ToIAMPolicyPtrOutput() IAMPolicyPtrOutput

func (IAMPolicyPtrOutput) ToIAMPolicyPtrOutputWithContext added in v4.11.1

func (o IAMPolicyPtrOutput) ToIAMPolicyPtrOutputWithContext(ctx context.Context) IAMPolicyPtrOutput

type IAMPolicyState

type IAMPolicyState struct {
	Etag pulumi.StringPtrInput
	// The numeric ID of the organization in which you want to manage the audit logging config.
	OrgId      pulumi.StringPtrInput
	PolicyData pulumi.StringPtrInput
}

func (IAMPolicyState) ElementType

func (IAMPolicyState) ElementType() reflect.Type

type IamAuditConfig

type IamAuditConfig struct {
	pulumi.CustomResourceState

	// The configuration for logging of each type of permission.  This can be specified multiple times.  Structure is documented below.
	AuditLogConfigs IamAuditConfigAuditLogConfigArrayOutput `pulumi:"auditLogConfigs"`
	// The etag of iam policy
	Etag pulumi.StringOutput `pulumi:"etag"`
	// The numeric ID of the organization in which you want to manage the audit logging config.
	OrgId pulumi.StringOutput `pulumi:"orgId"`
	// Service which will be enabled for audit logging.  The special value `allServices` covers all services.  Note that if there are google\_organization\_iam\_audit\_config resources covering both `allServices` and a specific service then the union of the two AuditConfigs is used for that service: the `logTypes` specified in each `auditLogConfig` are enabled, and the `exemptedMembers` in each `auditLogConfig` are exempted.
	Service pulumi.StringOutput `pulumi:"service"`
}

Allows management of audit logging config for a given service for a Google Cloud Platform Organization.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v4/go/gcp/organizations"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := organizations.NewIamAuditConfig(ctx, "config", &organizations.IamAuditConfigArgs{
			AuditLogConfigs: organizations.IamAuditConfigAuditLogConfigArray{
				&organizations.IamAuditConfigAuditLogConfigArgs{
					ExemptedMembers: pulumi.StringArray{
						pulumi.String("user:joebloggs@hashicorp.com"),
					},
					LogType: pulumi.String("DATA_READ"),
				},
			},
			OrgId:   pulumi.String("your-organization-id"),
			Service: pulumi.String("allServices"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

IAM audit config imports use the identifier of the resource in question and the service, e.g.

```sh

$ pulumi import gcp:organizations/iamAuditConfig:IamAuditConfig config "your-organization-id foo.googleapis.com"

```

func GetIamAuditConfig

func GetIamAuditConfig(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *IamAuditConfigState, opts ...pulumi.ResourceOption) (*IamAuditConfig, error)

GetIamAuditConfig gets an existing IamAuditConfig resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewIamAuditConfig

func NewIamAuditConfig(ctx *pulumi.Context,
	name string, args *IamAuditConfigArgs, opts ...pulumi.ResourceOption) (*IamAuditConfig, error)

NewIamAuditConfig registers a new resource with the given unique name, arguments, and options.

func (*IamAuditConfig) ElementType added in v4.4.0

func (*IamAuditConfig) ElementType() reflect.Type

func (*IamAuditConfig) ToIamAuditConfigOutput added in v4.4.0

func (i *IamAuditConfig) ToIamAuditConfigOutput() IamAuditConfigOutput

func (*IamAuditConfig) ToIamAuditConfigOutputWithContext added in v4.4.0

func (i *IamAuditConfig) ToIamAuditConfigOutputWithContext(ctx context.Context) IamAuditConfigOutput

func (*IamAuditConfig) ToIamAuditConfigPtrOutput added in v4.11.1

func (i *IamAuditConfig) ToIamAuditConfigPtrOutput() IamAuditConfigPtrOutput

func (*IamAuditConfig) ToIamAuditConfigPtrOutputWithContext added in v4.11.1

func (i *IamAuditConfig) ToIamAuditConfigPtrOutputWithContext(ctx context.Context) IamAuditConfigPtrOutput

type IamAuditConfigArgs

type IamAuditConfigArgs struct {
	// The configuration for logging of each type of permission.  This can be specified multiple times.  Structure is documented below.
	AuditLogConfigs IamAuditConfigAuditLogConfigArrayInput
	// The numeric ID of the organization in which you want to manage the audit logging config.
	OrgId pulumi.StringInput
	// Service which will be enabled for audit logging.  The special value `allServices` covers all services.  Note that if there are google\_organization\_iam\_audit\_config resources covering both `allServices` and a specific service then the union of the two AuditConfigs is used for that service: the `logTypes` specified in each `auditLogConfig` are enabled, and the `exemptedMembers` in each `auditLogConfig` are exempted.
	Service pulumi.StringInput
}

The set of arguments for constructing a IamAuditConfig resource.

func (IamAuditConfigArgs) ElementType

func (IamAuditConfigArgs) ElementType() reflect.Type

type IamAuditConfigArray added in v4.11.1

type IamAuditConfigArray []IamAuditConfigInput

func (IamAuditConfigArray) ElementType added in v4.11.1

func (IamAuditConfigArray) ElementType() reflect.Type

func (IamAuditConfigArray) ToIamAuditConfigArrayOutput added in v4.11.1

func (i IamAuditConfigArray) ToIamAuditConfigArrayOutput() IamAuditConfigArrayOutput

func (IamAuditConfigArray) ToIamAuditConfigArrayOutputWithContext added in v4.11.1

func (i IamAuditConfigArray) ToIamAuditConfigArrayOutputWithContext(ctx context.Context) IamAuditConfigArrayOutput

type IamAuditConfigArrayInput added in v4.11.1

type IamAuditConfigArrayInput interface {
	pulumi.Input

	ToIamAuditConfigArrayOutput() IamAuditConfigArrayOutput
	ToIamAuditConfigArrayOutputWithContext(context.Context) IamAuditConfigArrayOutput
}

IamAuditConfigArrayInput is an input type that accepts IamAuditConfigArray and IamAuditConfigArrayOutput values. You can construct a concrete instance of `IamAuditConfigArrayInput` via:

IamAuditConfigArray{ IamAuditConfigArgs{...} }

type IamAuditConfigArrayOutput added in v4.11.1

type IamAuditConfigArrayOutput struct{ *pulumi.OutputState }

func (IamAuditConfigArrayOutput) ElementType added in v4.11.1

func (IamAuditConfigArrayOutput) ElementType() reflect.Type

func (IamAuditConfigArrayOutput) Index added in v4.11.1

func (IamAuditConfigArrayOutput) ToIamAuditConfigArrayOutput added in v4.11.1

func (o IamAuditConfigArrayOutput) ToIamAuditConfigArrayOutput() IamAuditConfigArrayOutput

func (IamAuditConfigArrayOutput) ToIamAuditConfigArrayOutputWithContext added in v4.11.1

func (o IamAuditConfigArrayOutput) ToIamAuditConfigArrayOutputWithContext(ctx context.Context) IamAuditConfigArrayOutput

type IamAuditConfigAuditLogConfig

type IamAuditConfigAuditLogConfig struct {
	// Identities that do not cause logging for this type of permission.
	// Each entry can have one of the following values:
	// * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
	// * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
	// * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
	// * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
	ExemptedMembers []string `pulumi:"exemptedMembers"`
	// Permission type for which logging is to be configured.  Must be one of `DATA_READ`, `DATA_WRITE`, or `ADMIN_READ`.
	LogType string `pulumi:"logType"`
}

type IamAuditConfigAuditLogConfigArgs

type IamAuditConfigAuditLogConfigArgs struct {
	// Identities that do not cause logging for this type of permission.
	// Each entry can have one of the following values:
	// * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
	// * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
	// * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
	// * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
	ExemptedMembers pulumi.StringArrayInput `pulumi:"exemptedMembers"`
	// Permission type for which logging is to be configured.  Must be one of `DATA_READ`, `DATA_WRITE`, or `ADMIN_READ`.
	LogType pulumi.StringInput `pulumi:"logType"`
}

func (IamAuditConfigAuditLogConfigArgs) ElementType

func (IamAuditConfigAuditLogConfigArgs) ToIamAuditConfigAuditLogConfigOutput

func (i IamAuditConfigAuditLogConfigArgs) ToIamAuditConfigAuditLogConfigOutput() IamAuditConfigAuditLogConfigOutput

func (IamAuditConfigAuditLogConfigArgs) ToIamAuditConfigAuditLogConfigOutputWithContext

func (i IamAuditConfigAuditLogConfigArgs) ToIamAuditConfigAuditLogConfigOutputWithContext(ctx context.Context) IamAuditConfigAuditLogConfigOutput

type IamAuditConfigAuditLogConfigArray

type IamAuditConfigAuditLogConfigArray []IamAuditConfigAuditLogConfigInput

func (IamAuditConfigAuditLogConfigArray) ElementType

func (IamAuditConfigAuditLogConfigArray) ToIamAuditConfigAuditLogConfigArrayOutput

func (i IamAuditConfigAuditLogConfigArray) ToIamAuditConfigAuditLogConfigArrayOutput() IamAuditConfigAuditLogConfigArrayOutput

func (IamAuditConfigAuditLogConfigArray) ToIamAuditConfigAuditLogConfigArrayOutputWithContext

func (i IamAuditConfigAuditLogConfigArray) ToIamAuditConfigAuditLogConfigArrayOutputWithContext(ctx context.Context) IamAuditConfigAuditLogConfigArrayOutput

type IamAuditConfigAuditLogConfigArrayInput

type IamAuditConfigAuditLogConfigArrayInput interface {
	pulumi.Input

	ToIamAuditConfigAuditLogConfigArrayOutput() IamAuditConfigAuditLogConfigArrayOutput
	ToIamAuditConfigAuditLogConfigArrayOutputWithContext(context.Context) IamAuditConfigAuditLogConfigArrayOutput
}

IamAuditConfigAuditLogConfigArrayInput is an input type that accepts IamAuditConfigAuditLogConfigArray and IamAuditConfigAuditLogConfigArrayOutput values. You can construct a concrete instance of `IamAuditConfigAuditLogConfigArrayInput` via:

IamAuditConfigAuditLogConfigArray{ IamAuditConfigAuditLogConfigArgs{...} }

type IamAuditConfigAuditLogConfigArrayOutput

type IamAuditConfigAuditLogConfigArrayOutput struct{ *pulumi.OutputState }

func (IamAuditConfigAuditLogConfigArrayOutput) ElementType

func (IamAuditConfigAuditLogConfigArrayOutput) Index

func (IamAuditConfigAuditLogConfigArrayOutput) ToIamAuditConfigAuditLogConfigArrayOutput

func (o IamAuditConfigAuditLogConfigArrayOutput) ToIamAuditConfigAuditLogConfigArrayOutput() IamAuditConfigAuditLogConfigArrayOutput

func (IamAuditConfigAuditLogConfigArrayOutput) ToIamAuditConfigAuditLogConfigArrayOutputWithContext

func (o IamAuditConfigAuditLogConfigArrayOutput) ToIamAuditConfigAuditLogConfigArrayOutputWithContext(ctx context.Context) IamAuditConfigAuditLogConfigArrayOutput

type IamAuditConfigAuditLogConfigInput

type IamAuditConfigAuditLogConfigInput interface {
	pulumi.Input

	ToIamAuditConfigAuditLogConfigOutput() IamAuditConfigAuditLogConfigOutput
	ToIamAuditConfigAuditLogConfigOutputWithContext(context.Context) IamAuditConfigAuditLogConfigOutput
}

IamAuditConfigAuditLogConfigInput is an input type that accepts IamAuditConfigAuditLogConfigArgs and IamAuditConfigAuditLogConfigOutput values. You can construct a concrete instance of `IamAuditConfigAuditLogConfigInput` via:

IamAuditConfigAuditLogConfigArgs{...}

type IamAuditConfigAuditLogConfigOutput

type IamAuditConfigAuditLogConfigOutput struct{ *pulumi.OutputState }

func (IamAuditConfigAuditLogConfigOutput) ElementType

func (IamAuditConfigAuditLogConfigOutput) ExemptedMembers

Identities that do not cause logging for this type of permission. Each entry can have one of the following values: * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com. * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com. * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com. * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.

func (IamAuditConfigAuditLogConfigOutput) LogType

Permission type for which logging is to be configured. Must be one of `DATA_READ`, `DATA_WRITE`, or `ADMIN_READ`.

func (IamAuditConfigAuditLogConfigOutput) ToIamAuditConfigAuditLogConfigOutput

func (o IamAuditConfigAuditLogConfigOutput) ToIamAuditConfigAuditLogConfigOutput() IamAuditConfigAuditLogConfigOutput

func (IamAuditConfigAuditLogConfigOutput) ToIamAuditConfigAuditLogConfigOutputWithContext

func (o IamAuditConfigAuditLogConfigOutput) ToIamAuditConfigAuditLogConfigOutputWithContext(ctx context.Context) IamAuditConfigAuditLogConfigOutput

type IamAuditConfigInput added in v4.4.0

type IamAuditConfigInput interface {
	pulumi.Input

	ToIamAuditConfigOutput() IamAuditConfigOutput
	ToIamAuditConfigOutputWithContext(ctx context.Context) IamAuditConfigOutput
}

type IamAuditConfigMap added in v4.11.1

type IamAuditConfigMap map[string]IamAuditConfigInput

func (IamAuditConfigMap) ElementType added in v4.11.1

func (IamAuditConfigMap) ElementType() reflect.Type

func (IamAuditConfigMap) ToIamAuditConfigMapOutput added in v4.11.1

func (i IamAuditConfigMap) ToIamAuditConfigMapOutput() IamAuditConfigMapOutput

func (IamAuditConfigMap) ToIamAuditConfigMapOutputWithContext added in v4.11.1

func (i IamAuditConfigMap) ToIamAuditConfigMapOutputWithContext(ctx context.Context) IamAuditConfigMapOutput

type IamAuditConfigMapInput added in v4.11.1

type IamAuditConfigMapInput interface {
	pulumi.Input

	ToIamAuditConfigMapOutput() IamAuditConfigMapOutput
	ToIamAuditConfigMapOutputWithContext(context.Context) IamAuditConfigMapOutput
}

IamAuditConfigMapInput is an input type that accepts IamAuditConfigMap and IamAuditConfigMapOutput values. You can construct a concrete instance of `IamAuditConfigMapInput` via:

IamAuditConfigMap{ "key": IamAuditConfigArgs{...} }

type IamAuditConfigMapOutput added in v4.11.1

type IamAuditConfigMapOutput struct{ *pulumi.OutputState }

func (IamAuditConfigMapOutput) ElementType added in v4.11.1

func (IamAuditConfigMapOutput) ElementType() reflect.Type

func (IamAuditConfigMapOutput) MapIndex added in v4.11.1

func (IamAuditConfigMapOutput) ToIamAuditConfigMapOutput added in v4.11.1

func (o IamAuditConfigMapOutput) ToIamAuditConfigMapOutput() IamAuditConfigMapOutput

func (IamAuditConfigMapOutput) ToIamAuditConfigMapOutputWithContext added in v4.11.1

func (o IamAuditConfigMapOutput) ToIamAuditConfigMapOutputWithContext(ctx context.Context) IamAuditConfigMapOutput

type IamAuditConfigOutput added in v4.4.0

type IamAuditConfigOutput struct {
	*pulumi.OutputState
}

func (IamAuditConfigOutput) ElementType added in v4.4.0

func (IamAuditConfigOutput) ElementType() reflect.Type

func (IamAuditConfigOutput) ToIamAuditConfigOutput added in v4.4.0

func (o IamAuditConfigOutput) ToIamAuditConfigOutput() IamAuditConfigOutput

func (IamAuditConfigOutput) ToIamAuditConfigOutputWithContext added in v4.4.0

func (o IamAuditConfigOutput) ToIamAuditConfigOutputWithContext(ctx context.Context) IamAuditConfigOutput

func (IamAuditConfigOutput) ToIamAuditConfigPtrOutput added in v4.11.1

func (o IamAuditConfigOutput) ToIamAuditConfigPtrOutput() IamAuditConfigPtrOutput

func (IamAuditConfigOutput) ToIamAuditConfigPtrOutputWithContext added in v4.11.1

func (o IamAuditConfigOutput) ToIamAuditConfigPtrOutputWithContext(ctx context.Context) IamAuditConfigPtrOutput

type IamAuditConfigPtrInput added in v4.11.1

type IamAuditConfigPtrInput interface {
	pulumi.Input

	ToIamAuditConfigPtrOutput() IamAuditConfigPtrOutput
	ToIamAuditConfigPtrOutputWithContext(ctx context.Context) IamAuditConfigPtrOutput
}

type IamAuditConfigPtrOutput added in v4.11.1

type IamAuditConfigPtrOutput struct {
	*pulumi.OutputState
}

func (IamAuditConfigPtrOutput) ElementType added in v4.11.1

func (IamAuditConfigPtrOutput) ElementType() reflect.Type

func (IamAuditConfigPtrOutput) ToIamAuditConfigPtrOutput added in v4.11.1

func (o IamAuditConfigPtrOutput) ToIamAuditConfigPtrOutput() IamAuditConfigPtrOutput

func (IamAuditConfigPtrOutput) ToIamAuditConfigPtrOutputWithContext added in v4.11.1

func (o IamAuditConfigPtrOutput) ToIamAuditConfigPtrOutputWithContext(ctx context.Context) IamAuditConfigPtrOutput

type IamAuditConfigState

type IamAuditConfigState struct {
	// The configuration for logging of each type of permission.  This can be specified multiple times.  Structure is documented below.
	AuditLogConfigs IamAuditConfigAuditLogConfigArrayInput
	// The etag of iam policy
	Etag pulumi.StringPtrInput
	// The numeric ID of the organization in which you want to manage the audit logging config.
	OrgId pulumi.StringPtrInput
	// Service which will be enabled for audit logging.  The special value `allServices` covers all services.  Note that if there are google\_organization\_iam\_audit\_config resources covering both `allServices` and a specific service then the union of the two AuditConfigs is used for that service: the `logTypes` specified in each `auditLogConfig` are enabled, and the `exemptedMembers` in each `auditLogConfig` are exempted.
	Service pulumi.StringPtrInput
}

func (IamAuditConfigState) ElementType

func (IamAuditConfigState) ElementType() reflect.Type

type LookupFolderArgs

type LookupFolderArgs struct {
	// The name of the Folder in the form `{folder_id}` or `folders/{folder_id}`.
	Folder string `pulumi:"folder"`
	// `true` to find the organization that the folder belongs, `false` to avoid the lookup. It searches up the tree. (defaults to `false`)
	LookupOrganization *bool `pulumi:"lookupOrganization"`
}

A collection of arguments for invoking getFolder.

type LookupFolderResult

type LookupFolderResult struct {
	// Timestamp when the Organization was created. A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds. Example: "2014-10-02T15:01:23.045123456Z".
	CreateTime string `pulumi:"createTime"`
	// The folder's display name.
	DisplayName string `pulumi:"displayName"`
	Folder      string `pulumi:"folder"`
	FolderId    string `pulumi:"folderId"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// The Folder's current lifecycle state.
	LifecycleState     string `pulumi:"lifecycleState"`
	LookupOrganization *bool  `pulumi:"lookupOrganization"`
	// The resource name of the Folder in the form `folders/{folder_id}`.
	Name string `pulumi:"name"`
	// If `lookupOrganization` is enable, the resource name of the Organization that the folder belongs.
	Organization string `pulumi:"organization"`
	// The resource name of the parent Folder or Organization.
	Parent string `pulumi:"parent"`
}

A collection of values returned by getFolder.

func LookupFolder

func LookupFolder(ctx *pulumi.Context, args *LookupFolderArgs, opts ...pulumi.InvokeOption) (*LookupFolderResult, error)

Use this data source to get information about a Google Cloud Folder.

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v4/go/gcp/organizations"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		opt0 := true
		myFolder1, err := organizations.LookupFolder(ctx, &organizations.LookupFolderArgs{
			Folder:             "folders/12345",
			LookupOrganization: &opt0,
		}, nil)
		if err != nil {
			return err
		}
		myFolder2, err := organizations.LookupFolder(ctx, &organizations.LookupFolderArgs{
			Folder: "folders/23456",
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("myFolder1Organization", myFolder1.Organization)
		ctx.Export("myFolder2Parent", myFolder2.Parent)
		return nil
	})
}

```

type LookupIAMPolicyArgs

type LookupIAMPolicyArgs struct {
	// A nested configuration block that defines logging additional configuration for your project. This field is only supported on `projects.IAMPolicy`, `folder.IAMPolicy` and `organizations.IAMPolicy`.
	AuditConfigs []GetIAMPolicyAuditConfig `pulumi:"auditConfigs"`
	// A nested configuration block (described below)
	// defining a binding to be included in the policy document. Multiple
	// `binding` arguments are supported.
	Bindings []GetIAMPolicyBinding `pulumi:"bindings"`
}

A collection of arguments for invoking getIAMPolicy.

type LookupIAMPolicyResult

type LookupIAMPolicyResult struct {
	AuditConfigs []GetIAMPolicyAuditConfig `pulumi:"auditConfigs"`
	Bindings     []GetIAMPolicyBinding     `pulumi:"bindings"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// The above bindings serialized in a format suitable for
	// referencing from a resource that supports IAM.
	PolicyData string `pulumi:"policyData"`
}

A collection of values returned by getIAMPolicy.

func LookupIAMPolicy

func LookupIAMPolicy(ctx *pulumi.Context, args *LookupIAMPolicyArgs, opts ...pulumi.InvokeOption) (*LookupIAMPolicyResult, error)

Generates an IAM policy document that may be referenced by and applied to other Google Cloud Platform IAM resources, such as the `projects.IAMPolicy` resource.

**Note:** Please review the documentation of the resource that you will be using the datasource with. Some resources such as `projects.IAMPolicy` and others have limitations in their API methods which are noted on their respective page.

This data source is used to define IAM policies to apply to other resources. Currently, defining a policy through a datasource and referencing that policy from another resource is the only way to apply an IAM policy to a resource.

type LookupProjectArgs

type LookupProjectArgs struct {
	// The project ID. If it is not provided, the provider project is used.
	ProjectId *string `pulumi:"projectId"`
}

A collection of arguments for invoking getProject.

type LookupProjectResult

type LookupProjectResult struct {
	AutoCreateNetwork bool   `pulumi:"autoCreateNetwork"`
	BillingAccount    string `pulumi:"billingAccount"`
	FolderId          string `pulumi:"folderId"`
	// The provider-assigned unique ID for this managed resource.
	Id         string            `pulumi:"id"`
	Labels     map[string]string `pulumi:"labels"`
	Name       string            `pulumi:"name"`
	Number     string            `pulumi:"number"`
	OrgId      string            `pulumi:"orgId"`
	ProjectId  *string           `pulumi:"projectId"`
	SkipDelete bool              `pulumi:"skipDelete"`
}

A collection of values returned by getProject.

func LookupProject

func LookupProject(ctx *pulumi.Context, args *LookupProjectArgs, opts ...pulumi.InvokeOption) (*LookupProjectResult, error)

Use this data source to get project details. For more information see [API](https://cloud.google.com/resource-manager/reference/rest/v1/projects#Project)

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v4/go/gcp/organizations"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		project, err := organizations.LookupProject(ctx, nil, nil)
		if err != nil {
			return err
		}
		ctx.Export("projectNumber", project.Number)
		return nil
	})
}

```

type Policy

type Policy struct {
	pulumi.CustomResourceState

	// A boolean policy is a constraint that is either enforced or not. Structure is documented below.
	BooleanPolicy PolicyBooleanPolicyPtrOutput `pulumi:"booleanPolicy"`
	// The name of the Constraint the Policy is configuring, for example, `serviceuser.services`. Check out the [complete list of available constraints](https://cloud.google.com/resource-manager/docs/organization-policy/understanding-constraints#available_constraints).
	Constraint pulumi.StringOutput `pulumi:"constraint"`
	// (Computed) The etag of the organization policy. `etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other.
	Etag pulumi.StringOutput `pulumi:"etag"`
	// A policy that can define specific values that are allowed or denied for the given constraint. It can also be used to allow or deny all values. Structure is documented below.
	ListPolicy PolicyListPolicyPtrOutput `pulumi:"listPolicy"`
	// The numeric ID of the organization to set the policy for.
	OrgId pulumi.StringOutput `pulumi:"orgId"`
	// A restore policy is a constraint to restore the default policy. Structure is documented below.
	RestorePolicy PolicyRestorePolicyPtrOutput `pulumi:"restorePolicy"`
	// (Computed) The timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds, representing when the variable was last updated. Example: "2016-10-09T12:33:37.578138407Z".
	UpdateTime pulumi.StringOutput `pulumi:"updateTime"`
	// Version of the Policy. Default version is 0.
	Version pulumi.IntOutput `pulumi:"version"`
}

Allows management of Organization policies for a Google Organization. For more information see [the official documentation](https://cloud.google.com/resource-manager/docs/organization-policy/overview) and [API](https://cloud.google.com/resource-manager/reference/rest/v1/organizations/setOrgPolicy).

## Example Usage

To set policy with a [boolean constraint](https://cloud.google.com/resource-manager/docs/organization-policy/quickstart-boolean-constraints):

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v4/go/gcp/organizations"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := organizations.NewPolicy(ctx, "serialPortPolicy", &organizations.PolicyArgs{
			BooleanPolicy: &organizations.PolicyBooleanPolicyArgs{
				Enforced: pulumi.Bool(true),
			},
			Constraint: pulumi.String("compute.disableSerialPortAccess"),
			OrgId:      pulumi.String("123456789"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

To set a policy with a [list constraint](https://cloud.google.com/resource-manager/docs/organization-policy/quickstart-list-constraints):

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v4/go/gcp/organizations"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := organizations.NewPolicy(ctx, "servicesPolicy", &organizations.PolicyArgs{
			Constraint: pulumi.String("serviceuser.services"),
			ListPolicy: &organizations.PolicyListPolicyArgs{
				Allow: &organizations.PolicyListPolicyAllowArgs{
					All: pulumi.Bool(true),
				},
			},
			OrgId: pulumi.String("123456789"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

Or to deny some services, use the following instead:

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v4/go/gcp/organizations"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := organizations.NewPolicy(ctx, "servicesPolicy", &organizations.PolicyArgs{
			Constraint: pulumi.String("serviceuser.services"),
			ListPolicy: &organizations.PolicyListPolicyArgs{
				Deny: &organizations.PolicyListPolicyDenyArgs{
					Values: pulumi.StringArray{
						pulumi.String("cloudresourcemanager.googleapis.com"),
					},
				},
				SuggestedValue: pulumi.String("compute.googleapis.com"),
			},
			OrgId: pulumi.String("123456789"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

To restore the default organization policy, use the following instead:

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v4/go/gcp/organizations"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := organizations.NewPolicy(ctx, "servicesPolicy", &organizations.PolicyArgs{
			Constraint: pulumi.String("serviceuser.services"),
			OrgId:      pulumi.String("123456789"),
			RestorePolicy: &organizations.PolicyRestorePolicyArgs{
				Default: pulumi.Bool(true),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Organization Policies can be imported using the `org_id` and the `constraint`, e.g.

```sh

$ pulumi import gcp:organizations/policy:Policy services_policy 123456789/constraints/serviceuser.services

```

It is all right if the constraint contains a slash, as in the example above.

func GetPolicy

func GetPolicy(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *PolicyState, opts ...pulumi.ResourceOption) (*Policy, error)

GetPolicy gets an existing Policy resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewPolicy

func NewPolicy(ctx *pulumi.Context,
	name string, args *PolicyArgs, opts ...pulumi.ResourceOption) (*Policy, error)

NewPolicy registers a new resource with the given unique name, arguments, and options.

func (*Policy) ElementType added in v4.4.0

func (*Policy) ElementType() reflect.Type

func (*Policy) ToPolicyOutput added in v4.4.0

func (i *Policy) ToPolicyOutput() PolicyOutput

func (*Policy) ToPolicyOutputWithContext added in v4.4.0

func (i *Policy) ToPolicyOutputWithContext(ctx context.Context) PolicyOutput

func (*Policy) ToPolicyPtrOutput added in v4.11.1

func (i *Policy) ToPolicyPtrOutput() PolicyPtrOutput

func (*Policy) ToPolicyPtrOutputWithContext added in v4.11.1

func (i *Policy) ToPolicyPtrOutputWithContext(ctx context.Context) PolicyPtrOutput

type PolicyArgs

type PolicyArgs struct {
	// A boolean policy is a constraint that is either enforced or not. Structure is documented below.
	BooleanPolicy PolicyBooleanPolicyPtrInput
	// The name of the Constraint the Policy is configuring, for example, `serviceuser.services`. Check out the [complete list of available constraints](https://cloud.google.com/resource-manager/docs/organization-policy/understanding-constraints#available_constraints).
	Constraint pulumi.StringInput
	// A policy that can define specific values that are allowed or denied for the given constraint. It can also be used to allow or deny all values. Structure is documented below.
	ListPolicy PolicyListPolicyPtrInput
	// The numeric ID of the organization to set the policy for.
	OrgId pulumi.StringInput
	// A restore policy is a constraint to restore the default policy. Structure is documented below.
	RestorePolicy PolicyRestorePolicyPtrInput
	// Version of the Policy. Default version is 0.
	Version pulumi.IntPtrInput
}

The set of arguments for constructing a Policy resource.

func (PolicyArgs) ElementType

func (PolicyArgs) ElementType() reflect.Type

type PolicyArray added in v4.11.1

type PolicyArray []PolicyInput

func (PolicyArray) ElementType added in v4.11.1

func (PolicyArray) ElementType() reflect.Type

func (PolicyArray) ToPolicyArrayOutput added in v4.11.1

func (i PolicyArray) ToPolicyArrayOutput() PolicyArrayOutput

func (PolicyArray) ToPolicyArrayOutputWithContext added in v4.11.1

func (i PolicyArray) ToPolicyArrayOutputWithContext(ctx context.Context) PolicyArrayOutput

type PolicyArrayInput added in v4.11.1

type PolicyArrayInput interface {
	pulumi.Input

	ToPolicyArrayOutput() PolicyArrayOutput
	ToPolicyArrayOutputWithContext(context.Context) PolicyArrayOutput
}

PolicyArrayInput is an input type that accepts PolicyArray and PolicyArrayOutput values. You can construct a concrete instance of `PolicyArrayInput` via:

PolicyArray{ PolicyArgs{...} }

type PolicyArrayOutput added in v4.11.1

type PolicyArrayOutput struct{ *pulumi.OutputState }

func (PolicyArrayOutput) ElementType added in v4.11.1

func (PolicyArrayOutput) ElementType() reflect.Type

func (PolicyArrayOutput) Index added in v4.11.1

func (PolicyArrayOutput) ToPolicyArrayOutput added in v4.11.1

func (o PolicyArrayOutput) ToPolicyArrayOutput() PolicyArrayOutput

func (PolicyArrayOutput) ToPolicyArrayOutputWithContext added in v4.11.1

func (o PolicyArrayOutput) ToPolicyArrayOutputWithContext(ctx context.Context) PolicyArrayOutput

type PolicyBooleanPolicy

type PolicyBooleanPolicy struct {
	// If true, then the Policy is enforced. If false, then any configuration is acceptable.
	Enforced bool `pulumi:"enforced"`
}

type PolicyBooleanPolicyArgs

type PolicyBooleanPolicyArgs struct {
	// If true, then the Policy is enforced. If false, then any configuration is acceptable.
	Enforced pulumi.BoolInput `pulumi:"enforced"`
}

func (PolicyBooleanPolicyArgs) ElementType

func (PolicyBooleanPolicyArgs) ElementType() reflect.Type

func (PolicyBooleanPolicyArgs) ToPolicyBooleanPolicyOutput

func (i PolicyBooleanPolicyArgs) ToPolicyBooleanPolicyOutput() PolicyBooleanPolicyOutput

func (PolicyBooleanPolicyArgs) ToPolicyBooleanPolicyOutputWithContext

func (i PolicyBooleanPolicyArgs) ToPolicyBooleanPolicyOutputWithContext(ctx context.Context) PolicyBooleanPolicyOutput

func (PolicyBooleanPolicyArgs) ToPolicyBooleanPolicyPtrOutput

func (i PolicyBooleanPolicyArgs) ToPolicyBooleanPolicyPtrOutput() PolicyBooleanPolicyPtrOutput

func (PolicyBooleanPolicyArgs) ToPolicyBooleanPolicyPtrOutputWithContext

func (i PolicyBooleanPolicyArgs) ToPolicyBooleanPolicyPtrOutputWithContext(ctx context.Context) PolicyBooleanPolicyPtrOutput

type PolicyBooleanPolicyInput

type PolicyBooleanPolicyInput interface {
	pulumi.Input

	ToPolicyBooleanPolicyOutput() PolicyBooleanPolicyOutput
	ToPolicyBooleanPolicyOutputWithContext(context.Context) PolicyBooleanPolicyOutput
}

PolicyBooleanPolicyInput is an input type that accepts PolicyBooleanPolicyArgs and PolicyBooleanPolicyOutput values. You can construct a concrete instance of `PolicyBooleanPolicyInput` via:

PolicyBooleanPolicyArgs{...}

type PolicyBooleanPolicyOutput

type PolicyBooleanPolicyOutput struct{ *pulumi.OutputState }

func (PolicyBooleanPolicyOutput) ElementType

func (PolicyBooleanPolicyOutput) ElementType() reflect.Type

func (PolicyBooleanPolicyOutput) Enforced

If true, then the Policy is enforced. If false, then any configuration is acceptable.

func (PolicyBooleanPolicyOutput) ToPolicyBooleanPolicyOutput

func (o PolicyBooleanPolicyOutput) ToPolicyBooleanPolicyOutput() PolicyBooleanPolicyOutput

func (PolicyBooleanPolicyOutput) ToPolicyBooleanPolicyOutputWithContext

func (o PolicyBooleanPolicyOutput) ToPolicyBooleanPolicyOutputWithContext(ctx context.Context) PolicyBooleanPolicyOutput

func (PolicyBooleanPolicyOutput) ToPolicyBooleanPolicyPtrOutput

func (o PolicyBooleanPolicyOutput) ToPolicyBooleanPolicyPtrOutput() PolicyBooleanPolicyPtrOutput

func (PolicyBooleanPolicyOutput) ToPolicyBooleanPolicyPtrOutputWithContext

func (o PolicyBooleanPolicyOutput) ToPolicyBooleanPolicyPtrOutputWithContext(ctx context.Context) PolicyBooleanPolicyPtrOutput

type PolicyBooleanPolicyPtrInput

type PolicyBooleanPolicyPtrInput interface {
	pulumi.Input

	ToPolicyBooleanPolicyPtrOutput() PolicyBooleanPolicyPtrOutput
	ToPolicyBooleanPolicyPtrOutputWithContext(context.Context) PolicyBooleanPolicyPtrOutput
}

PolicyBooleanPolicyPtrInput is an input type that accepts PolicyBooleanPolicyArgs, PolicyBooleanPolicyPtr and PolicyBooleanPolicyPtrOutput values. You can construct a concrete instance of `PolicyBooleanPolicyPtrInput` via:

        PolicyBooleanPolicyArgs{...}

or:

        nil

type PolicyBooleanPolicyPtrOutput

type PolicyBooleanPolicyPtrOutput struct{ *pulumi.OutputState }

func (PolicyBooleanPolicyPtrOutput) Elem

func (PolicyBooleanPolicyPtrOutput) ElementType

func (PolicyBooleanPolicyPtrOutput) Enforced

If true, then the Policy is enforced. If false, then any configuration is acceptable.

func (PolicyBooleanPolicyPtrOutput) ToPolicyBooleanPolicyPtrOutput

func (o PolicyBooleanPolicyPtrOutput) ToPolicyBooleanPolicyPtrOutput() PolicyBooleanPolicyPtrOutput

func (PolicyBooleanPolicyPtrOutput) ToPolicyBooleanPolicyPtrOutputWithContext

func (o PolicyBooleanPolicyPtrOutput) ToPolicyBooleanPolicyPtrOutputWithContext(ctx context.Context) PolicyBooleanPolicyPtrOutput

type PolicyInput added in v4.4.0

type PolicyInput interface {
	pulumi.Input

	ToPolicyOutput() PolicyOutput
	ToPolicyOutputWithContext(ctx context.Context) PolicyOutput
}

type PolicyListPolicy

type PolicyListPolicy struct {
	// or `deny` - (Optional) One or the other must be set.
	Allow *PolicyListPolicyAllow `pulumi:"allow"`
	Deny  *PolicyListPolicyDeny  `pulumi:"deny"`
	// If set to true, the values from the effective Policy of the parent resource
	// are inherited, meaning the values set in this Policy are added to the values inherited up the hierarchy.
	InheritFromParent *bool `pulumi:"inheritFromParent"`
	// The Google Cloud Console will try to default to a configuration that matches the value specified in this field.
	SuggestedValue *string `pulumi:"suggestedValue"`
}

type PolicyListPolicyAllow

type PolicyListPolicyAllow struct {
	// The policy allows or denies all values.
	All *bool `pulumi:"all"`
	// The policy can define specific values that are allowed or denied.
	Values []string `pulumi:"values"`
}

type PolicyListPolicyAllowArgs

type PolicyListPolicyAllowArgs struct {
	// The policy allows or denies all values.
	All pulumi.BoolPtrInput `pulumi:"all"`
	// The policy can define specific values that are allowed or denied.
	Values pulumi.StringArrayInput `pulumi:"values"`
}

func (PolicyListPolicyAllowArgs) ElementType

func (PolicyListPolicyAllowArgs) ElementType() reflect.Type

func (PolicyListPolicyAllowArgs) ToPolicyListPolicyAllowOutput

func (i PolicyListPolicyAllowArgs) ToPolicyListPolicyAllowOutput() PolicyListPolicyAllowOutput

func (PolicyListPolicyAllowArgs) ToPolicyListPolicyAllowOutputWithContext

func (i PolicyListPolicyAllowArgs) ToPolicyListPolicyAllowOutputWithContext(ctx context.Context) PolicyListPolicyAllowOutput

func (PolicyListPolicyAllowArgs) ToPolicyListPolicyAllowPtrOutput

func (i PolicyListPolicyAllowArgs) ToPolicyListPolicyAllowPtrOutput() PolicyListPolicyAllowPtrOutput

func (PolicyListPolicyAllowArgs) ToPolicyListPolicyAllowPtrOutputWithContext

func (i PolicyListPolicyAllowArgs) ToPolicyListPolicyAllowPtrOutputWithContext(ctx context.Context) PolicyListPolicyAllowPtrOutput

type PolicyListPolicyAllowInput

type PolicyListPolicyAllowInput interface {
	pulumi.Input

	ToPolicyListPolicyAllowOutput() PolicyListPolicyAllowOutput
	ToPolicyListPolicyAllowOutputWithContext(context.Context) PolicyListPolicyAllowOutput
}

PolicyListPolicyAllowInput is an input type that accepts PolicyListPolicyAllowArgs and PolicyListPolicyAllowOutput values. You can construct a concrete instance of `PolicyListPolicyAllowInput` via:

PolicyListPolicyAllowArgs{...}

type PolicyListPolicyAllowOutput

type PolicyListPolicyAllowOutput struct{ *pulumi.OutputState }

func (PolicyListPolicyAllowOutput) All

The policy allows or denies all values.

func (PolicyListPolicyAllowOutput) ElementType

func (PolicyListPolicyAllowOutput) ToPolicyListPolicyAllowOutput

func (o PolicyListPolicyAllowOutput) ToPolicyListPolicyAllowOutput() PolicyListPolicyAllowOutput

func (PolicyListPolicyAllowOutput) ToPolicyListPolicyAllowOutputWithContext

func (o PolicyListPolicyAllowOutput) ToPolicyListPolicyAllowOutputWithContext(ctx context.Context) PolicyListPolicyAllowOutput

func (PolicyListPolicyAllowOutput) ToPolicyListPolicyAllowPtrOutput

func (o PolicyListPolicyAllowOutput) ToPolicyListPolicyAllowPtrOutput() PolicyListPolicyAllowPtrOutput

func (PolicyListPolicyAllowOutput) ToPolicyListPolicyAllowPtrOutputWithContext

func (o PolicyListPolicyAllowOutput) ToPolicyListPolicyAllowPtrOutputWithContext(ctx context.Context) PolicyListPolicyAllowPtrOutput

func (PolicyListPolicyAllowOutput) Values

The policy can define specific values that are allowed or denied.

type PolicyListPolicyAllowPtrInput

type PolicyListPolicyAllowPtrInput interface {
	pulumi.Input

	ToPolicyListPolicyAllowPtrOutput() PolicyListPolicyAllowPtrOutput
	ToPolicyListPolicyAllowPtrOutputWithContext(context.Context) PolicyListPolicyAllowPtrOutput
}

PolicyListPolicyAllowPtrInput is an input type that accepts PolicyListPolicyAllowArgs, PolicyListPolicyAllowPtr and PolicyListPolicyAllowPtrOutput values. You can construct a concrete instance of `PolicyListPolicyAllowPtrInput` via:

        PolicyListPolicyAllowArgs{...}

or:

        nil

type PolicyListPolicyAllowPtrOutput

type PolicyListPolicyAllowPtrOutput struct{ *pulumi.OutputState }

func (PolicyListPolicyAllowPtrOutput) All

The policy allows or denies all values.

func (PolicyListPolicyAllowPtrOutput) Elem

func (PolicyListPolicyAllowPtrOutput) ElementType

func (PolicyListPolicyAllowPtrOutput) ToPolicyListPolicyAllowPtrOutput

func (o PolicyListPolicyAllowPtrOutput) ToPolicyListPolicyAllowPtrOutput() PolicyListPolicyAllowPtrOutput

func (PolicyListPolicyAllowPtrOutput) ToPolicyListPolicyAllowPtrOutputWithContext

func (o PolicyListPolicyAllowPtrOutput) ToPolicyListPolicyAllowPtrOutputWithContext(ctx context.Context) PolicyListPolicyAllowPtrOutput

func (PolicyListPolicyAllowPtrOutput) Values

The policy can define specific values that are allowed or denied.

type PolicyListPolicyArgs

type PolicyListPolicyArgs struct {
	// or `deny` - (Optional) One or the other must be set.
	Allow PolicyListPolicyAllowPtrInput `pulumi:"allow"`
	Deny  PolicyListPolicyDenyPtrInput  `pulumi:"deny"`
	// If set to true, the values from the effective Policy of the parent resource
	// are inherited, meaning the values set in this Policy are added to the values inherited up the hierarchy.
	InheritFromParent pulumi.BoolPtrInput `pulumi:"inheritFromParent"`
	// The Google Cloud Console will try to default to a configuration that matches the value specified in this field.
	SuggestedValue pulumi.StringPtrInput `pulumi:"suggestedValue"`
}

func (PolicyListPolicyArgs) ElementType

func (PolicyListPolicyArgs) ElementType() reflect.Type

func (PolicyListPolicyArgs) ToPolicyListPolicyOutput

func (i PolicyListPolicyArgs) ToPolicyListPolicyOutput() PolicyListPolicyOutput

func (PolicyListPolicyArgs) ToPolicyListPolicyOutputWithContext

func (i PolicyListPolicyArgs) ToPolicyListPolicyOutputWithContext(ctx context.Context) PolicyListPolicyOutput

func (PolicyListPolicyArgs) ToPolicyListPolicyPtrOutput

func (i PolicyListPolicyArgs) ToPolicyListPolicyPtrOutput() PolicyListPolicyPtrOutput

func (PolicyListPolicyArgs) ToPolicyListPolicyPtrOutputWithContext

func (i PolicyListPolicyArgs) ToPolicyListPolicyPtrOutputWithContext(ctx context.Context) PolicyListPolicyPtrOutput

type PolicyListPolicyDeny

type PolicyListPolicyDeny struct {
	// The policy allows or denies all values.
	All *bool `pulumi:"all"`
	// The policy can define specific values that are allowed or denied.
	Values []string `pulumi:"values"`
}

type PolicyListPolicyDenyArgs

type PolicyListPolicyDenyArgs struct {
	// The policy allows or denies all values.
	All pulumi.BoolPtrInput `pulumi:"all"`
	// The policy can define specific values that are allowed or denied.
	Values pulumi.StringArrayInput `pulumi:"values"`
}

func (PolicyListPolicyDenyArgs) ElementType

func (PolicyListPolicyDenyArgs) ElementType() reflect.Type

func (PolicyListPolicyDenyArgs) ToPolicyListPolicyDenyOutput

func (i PolicyListPolicyDenyArgs) ToPolicyListPolicyDenyOutput() PolicyListPolicyDenyOutput

func (PolicyListPolicyDenyArgs) ToPolicyListPolicyDenyOutputWithContext

func (i PolicyListPolicyDenyArgs) ToPolicyListPolicyDenyOutputWithContext(ctx context.Context) PolicyListPolicyDenyOutput

func (PolicyListPolicyDenyArgs) ToPolicyListPolicyDenyPtrOutput

func (i PolicyListPolicyDenyArgs) ToPolicyListPolicyDenyPtrOutput() PolicyListPolicyDenyPtrOutput

func (PolicyListPolicyDenyArgs) ToPolicyListPolicyDenyPtrOutputWithContext

func (i PolicyListPolicyDenyArgs) ToPolicyListPolicyDenyPtrOutputWithContext(ctx context.Context) PolicyListPolicyDenyPtrOutput

type PolicyListPolicyDenyInput

type PolicyListPolicyDenyInput interface {
	pulumi.Input

	ToPolicyListPolicyDenyOutput() PolicyListPolicyDenyOutput
	ToPolicyListPolicyDenyOutputWithContext(context.Context) PolicyListPolicyDenyOutput
}

PolicyListPolicyDenyInput is an input type that accepts PolicyListPolicyDenyArgs and PolicyListPolicyDenyOutput values. You can construct a concrete instance of `PolicyListPolicyDenyInput` via:

PolicyListPolicyDenyArgs{...}

type PolicyListPolicyDenyOutput

type PolicyListPolicyDenyOutput struct{ *pulumi.OutputState }

func (PolicyListPolicyDenyOutput) All

The policy allows or denies all values.

func (PolicyListPolicyDenyOutput) ElementType

func (PolicyListPolicyDenyOutput) ElementType() reflect.Type

func (PolicyListPolicyDenyOutput) ToPolicyListPolicyDenyOutput

func (o PolicyListPolicyDenyOutput) ToPolicyListPolicyDenyOutput() PolicyListPolicyDenyOutput

func (PolicyListPolicyDenyOutput) ToPolicyListPolicyDenyOutputWithContext

func (o PolicyListPolicyDenyOutput) ToPolicyListPolicyDenyOutputWithContext(ctx context.Context) PolicyListPolicyDenyOutput

func (PolicyListPolicyDenyOutput) ToPolicyListPolicyDenyPtrOutput

func (o PolicyListPolicyDenyOutput) ToPolicyListPolicyDenyPtrOutput() PolicyListPolicyDenyPtrOutput

func (PolicyListPolicyDenyOutput) ToPolicyListPolicyDenyPtrOutputWithContext

func (o PolicyListPolicyDenyOutput) ToPolicyListPolicyDenyPtrOutputWithContext(ctx context.Context) PolicyListPolicyDenyPtrOutput

func (PolicyListPolicyDenyOutput) Values

The policy can define specific values that are allowed or denied.

type PolicyListPolicyDenyPtrInput

type PolicyListPolicyDenyPtrInput interface {
	pulumi.Input

	ToPolicyListPolicyDenyPtrOutput() PolicyListPolicyDenyPtrOutput
	ToPolicyListPolicyDenyPtrOutputWithContext(context.Context) PolicyListPolicyDenyPtrOutput
}

PolicyListPolicyDenyPtrInput is an input type that accepts PolicyListPolicyDenyArgs, PolicyListPolicyDenyPtr and PolicyListPolicyDenyPtrOutput values. You can construct a concrete instance of `PolicyListPolicyDenyPtrInput` via:

        PolicyListPolicyDenyArgs{...}

or:

        nil

type PolicyListPolicyDenyPtrOutput

type PolicyListPolicyDenyPtrOutput struct{ *pulumi.OutputState }

func (PolicyListPolicyDenyPtrOutput) All

The policy allows or denies all values.

func (PolicyListPolicyDenyPtrOutput) Elem

func (PolicyListPolicyDenyPtrOutput) ElementType

func (PolicyListPolicyDenyPtrOutput) ToPolicyListPolicyDenyPtrOutput

func (o PolicyListPolicyDenyPtrOutput) ToPolicyListPolicyDenyPtrOutput() PolicyListPolicyDenyPtrOutput

func (PolicyListPolicyDenyPtrOutput) ToPolicyListPolicyDenyPtrOutputWithContext

func (o PolicyListPolicyDenyPtrOutput) ToPolicyListPolicyDenyPtrOutputWithContext(ctx context.Context) PolicyListPolicyDenyPtrOutput

func (PolicyListPolicyDenyPtrOutput) Values

The policy can define specific values that are allowed or denied.

type PolicyListPolicyInput

type PolicyListPolicyInput interface {
	pulumi.Input

	ToPolicyListPolicyOutput() PolicyListPolicyOutput
	ToPolicyListPolicyOutputWithContext(context.Context) PolicyListPolicyOutput
}

PolicyListPolicyInput is an input type that accepts PolicyListPolicyArgs and PolicyListPolicyOutput values. You can construct a concrete instance of `PolicyListPolicyInput` via:

PolicyListPolicyArgs{...}

type PolicyListPolicyOutput

type PolicyListPolicyOutput struct{ *pulumi.OutputState }

func (PolicyListPolicyOutput) Allow

or `deny` - (Optional) One or the other must be set.

func (PolicyListPolicyOutput) Deny

func (PolicyListPolicyOutput) ElementType

func (PolicyListPolicyOutput) ElementType() reflect.Type

func (PolicyListPolicyOutput) InheritFromParent

func (o PolicyListPolicyOutput) InheritFromParent() pulumi.BoolPtrOutput

If set to true, the values from the effective Policy of the parent resource are inherited, meaning the values set in this Policy are added to the values inherited up the hierarchy.

func (PolicyListPolicyOutput) SuggestedValue

func (o PolicyListPolicyOutput) SuggestedValue() pulumi.StringPtrOutput

The Google Cloud Console will try to default to a configuration that matches the value specified in this field.

func (PolicyListPolicyOutput) ToPolicyListPolicyOutput

func (o PolicyListPolicyOutput) ToPolicyListPolicyOutput() PolicyListPolicyOutput

func (PolicyListPolicyOutput) ToPolicyListPolicyOutputWithContext

func (o PolicyListPolicyOutput) ToPolicyListPolicyOutputWithContext(ctx context.Context) PolicyListPolicyOutput

func (PolicyListPolicyOutput) ToPolicyListPolicyPtrOutput

func (o PolicyListPolicyOutput) ToPolicyListPolicyPtrOutput() PolicyListPolicyPtrOutput

func (PolicyListPolicyOutput) ToPolicyListPolicyPtrOutputWithContext

func (o PolicyListPolicyOutput) ToPolicyListPolicyPtrOutputWithContext(ctx context.Context) PolicyListPolicyPtrOutput

type PolicyListPolicyPtrInput

type PolicyListPolicyPtrInput interface {
	pulumi.Input

	ToPolicyListPolicyPtrOutput() PolicyListPolicyPtrOutput
	ToPolicyListPolicyPtrOutputWithContext(context.Context) PolicyListPolicyPtrOutput
}

PolicyListPolicyPtrInput is an input type that accepts PolicyListPolicyArgs, PolicyListPolicyPtr and PolicyListPolicyPtrOutput values. You can construct a concrete instance of `PolicyListPolicyPtrInput` via:

        PolicyListPolicyArgs{...}

or:

        nil

type PolicyListPolicyPtrOutput

type PolicyListPolicyPtrOutput struct{ *pulumi.OutputState }

func (PolicyListPolicyPtrOutput) Allow

or `deny` - (Optional) One or the other must be set.

func (PolicyListPolicyPtrOutput) Deny

func (PolicyListPolicyPtrOutput) Elem

func (PolicyListPolicyPtrOutput) ElementType

func (PolicyListPolicyPtrOutput) ElementType() reflect.Type

func (PolicyListPolicyPtrOutput) InheritFromParent

func (o PolicyListPolicyPtrOutput) InheritFromParent() pulumi.BoolPtrOutput

If set to true, the values from the effective Policy of the parent resource are inherited, meaning the values set in this Policy are added to the values inherited up the hierarchy.

func (PolicyListPolicyPtrOutput) SuggestedValue

The Google Cloud Console will try to default to a configuration that matches the value specified in this field.

func (PolicyListPolicyPtrOutput) ToPolicyListPolicyPtrOutput

func (o PolicyListPolicyPtrOutput) ToPolicyListPolicyPtrOutput() PolicyListPolicyPtrOutput

func (PolicyListPolicyPtrOutput) ToPolicyListPolicyPtrOutputWithContext

func (o PolicyListPolicyPtrOutput) ToPolicyListPolicyPtrOutputWithContext(ctx context.Context) PolicyListPolicyPtrOutput

type PolicyMap added in v4.11.1

type PolicyMap map[string]PolicyInput

func (PolicyMap) ElementType added in v4.11.1

func (PolicyMap) ElementType() reflect.Type

func (PolicyMap) ToPolicyMapOutput added in v4.11.1

func (i PolicyMap) ToPolicyMapOutput() PolicyMapOutput

func (PolicyMap) ToPolicyMapOutputWithContext added in v4.11.1

func (i PolicyMap) ToPolicyMapOutputWithContext(ctx context.Context) PolicyMapOutput

type PolicyMapInput added in v4.11.1

type PolicyMapInput interface {
	pulumi.Input

	ToPolicyMapOutput() PolicyMapOutput
	ToPolicyMapOutputWithContext(context.Context) PolicyMapOutput
}

PolicyMapInput is an input type that accepts PolicyMap and PolicyMapOutput values. You can construct a concrete instance of `PolicyMapInput` via:

PolicyMap{ "key": PolicyArgs{...} }

type PolicyMapOutput added in v4.11.1

type PolicyMapOutput struct{ *pulumi.OutputState }

func (PolicyMapOutput) ElementType added in v4.11.1

func (PolicyMapOutput) ElementType() reflect.Type

func (PolicyMapOutput) MapIndex added in v4.11.1

func (PolicyMapOutput) ToPolicyMapOutput added in v4.11.1

func (o PolicyMapOutput) ToPolicyMapOutput() PolicyMapOutput

func (PolicyMapOutput) ToPolicyMapOutputWithContext added in v4.11.1

func (o PolicyMapOutput) ToPolicyMapOutputWithContext(ctx context.Context) PolicyMapOutput

type PolicyOutput added in v4.4.0

type PolicyOutput struct {
	*pulumi.OutputState
}

func (PolicyOutput) ElementType added in v4.4.0

func (PolicyOutput) ElementType() reflect.Type

func (PolicyOutput) ToPolicyOutput added in v4.4.0

func (o PolicyOutput) ToPolicyOutput() PolicyOutput

func (PolicyOutput) ToPolicyOutputWithContext added in v4.4.0

func (o PolicyOutput) ToPolicyOutputWithContext(ctx context.Context) PolicyOutput

func (PolicyOutput) ToPolicyPtrOutput added in v4.11.1

func (o PolicyOutput) ToPolicyPtrOutput() PolicyPtrOutput

func (PolicyOutput) ToPolicyPtrOutputWithContext added in v4.11.1

func (o PolicyOutput) ToPolicyPtrOutputWithContext(ctx context.Context) PolicyPtrOutput

type PolicyPtrInput added in v4.11.1

type PolicyPtrInput interface {
	pulumi.Input

	ToPolicyPtrOutput() PolicyPtrOutput
	ToPolicyPtrOutputWithContext(ctx context.Context) PolicyPtrOutput
}

type PolicyPtrOutput added in v4.11.1

type PolicyPtrOutput struct {
	*pulumi.OutputState
}

func (PolicyPtrOutput) ElementType added in v4.11.1

func (PolicyPtrOutput) ElementType() reflect.Type

func (PolicyPtrOutput) ToPolicyPtrOutput added in v4.11.1

func (o PolicyPtrOutput) ToPolicyPtrOutput() PolicyPtrOutput

func (PolicyPtrOutput) ToPolicyPtrOutputWithContext added in v4.11.1

func (o PolicyPtrOutput) ToPolicyPtrOutputWithContext(ctx context.Context) PolicyPtrOutput

type PolicyRestorePolicy

type PolicyRestorePolicy struct {
	// May only be set to true. If set, then the default Policy is restored.
	Default bool `pulumi:"default"`
}

type PolicyRestorePolicyArgs

type PolicyRestorePolicyArgs struct {
	// May only be set to true. If set, then the default Policy is restored.
	Default pulumi.BoolInput `pulumi:"default"`
}

func (PolicyRestorePolicyArgs) ElementType

func (PolicyRestorePolicyArgs) ElementType() reflect.Type

func (PolicyRestorePolicyArgs) ToPolicyRestorePolicyOutput

func (i PolicyRestorePolicyArgs) ToPolicyRestorePolicyOutput() PolicyRestorePolicyOutput

func (PolicyRestorePolicyArgs) ToPolicyRestorePolicyOutputWithContext

func (i PolicyRestorePolicyArgs) ToPolicyRestorePolicyOutputWithContext(ctx context.Context) PolicyRestorePolicyOutput

func (PolicyRestorePolicyArgs) ToPolicyRestorePolicyPtrOutput

func (i PolicyRestorePolicyArgs) ToPolicyRestorePolicyPtrOutput() PolicyRestorePolicyPtrOutput

func (PolicyRestorePolicyArgs) ToPolicyRestorePolicyPtrOutputWithContext

func (i PolicyRestorePolicyArgs) ToPolicyRestorePolicyPtrOutputWithContext(ctx context.Context) PolicyRestorePolicyPtrOutput

type PolicyRestorePolicyInput

type PolicyRestorePolicyInput interface {
	pulumi.Input

	ToPolicyRestorePolicyOutput() PolicyRestorePolicyOutput
	ToPolicyRestorePolicyOutputWithContext(context.Context) PolicyRestorePolicyOutput
}

PolicyRestorePolicyInput is an input type that accepts PolicyRestorePolicyArgs and PolicyRestorePolicyOutput values. You can construct a concrete instance of `PolicyRestorePolicyInput` via:

PolicyRestorePolicyArgs{...}

type PolicyRestorePolicyOutput

type PolicyRestorePolicyOutput struct{ *pulumi.OutputState }

func (PolicyRestorePolicyOutput) Default

May only be set to true. If set, then the default Policy is restored.

func (PolicyRestorePolicyOutput) ElementType

func (PolicyRestorePolicyOutput) ElementType() reflect.Type

func (PolicyRestorePolicyOutput) ToPolicyRestorePolicyOutput

func (o PolicyRestorePolicyOutput) ToPolicyRestorePolicyOutput() PolicyRestorePolicyOutput

func (PolicyRestorePolicyOutput) ToPolicyRestorePolicyOutputWithContext

func (o PolicyRestorePolicyOutput) ToPolicyRestorePolicyOutputWithContext(ctx context.Context) PolicyRestorePolicyOutput

func (PolicyRestorePolicyOutput) ToPolicyRestorePolicyPtrOutput

func (o PolicyRestorePolicyOutput) ToPolicyRestorePolicyPtrOutput() PolicyRestorePolicyPtrOutput

func (PolicyRestorePolicyOutput) ToPolicyRestorePolicyPtrOutputWithContext

func (o PolicyRestorePolicyOutput) ToPolicyRestorePolicyPtrOutputWithContext(ctx context.Context) PolicyRestorePolicyPtrOutput

type PolicyRestorePolicyPtrInput

type PolicyRestorePolicyPtrInput interface {
	pulumi.Input

	ToPolicyRestorePolicyPtrOutput() PolicyRestorePolicyPtrOutput
	ToPolicyRestorePolicyPtrOutputWithContext(context.Context) PolicyRestorePolicyPtrOutput
}

PolicyRestorePolicyPtrInput is an input type that accepts PolicyRestorePolicyArgs, PolicyRestorePolicyPtr and PolicyRestorePolicyPtrOutput values. You can construct a concrete instance of `PolicyRestorePolicyPtrInput` via:

        PolicyRestorePolicyArgs{...}

or:

        nil

type PolicyRestorePolicyPtrOutput

type PolicyRestorePolicyPtrOutput struct{ *pulumi.OutputState }

func (PolicyRestorePolicyPtrOutput) Default

May only be set to true. If set, then the default Policy is restored.

func (PolicyRestorePolicyPtrOutput) Elem

func (PolicyRestorePolicyPtrOutput) ElementType

func (PolicyRestorePolicyPtrOutput) ToPolicyRestorePolicyPtrOutput

func (o PolicyRestorePolicyPtrOutput) ToPolicyRestorePolicyPtrOutput() PolicyRestorePolicyPtrOutput

func (PolicyRestorePolicyPtrOutput) ToPolicyRestorePolicyPtrOutputWithContext

func (o PolicyRestorePolicyPtrOutput) ToPolicyRestorePolicyPtrOutputWithContext(ctx context.Context) PolicyRestorePolicyPtrOutput

type PolicyState

type PolicyState struct {
	// A boolean policy is a constraint that is either enforced or not. Structure is documented below.
	BooleanPolicy PolicyBooleanPolicyPtrInput
	// The name of the Constraint the Policy is configuring, for example, `serviceuser.services`. Check out the [complete list of available constraints](https://cloud.google.com/resource-manager/docs/organization-policy/understanding-constraints#available_constraints).
	Constraint pulumi.StringPtrInput
	// (Computed) The etag of the organization policy. `etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other.
	Etag pulumi.StringPtrInput
	// A policy that can define specific values that are allowed or denied for the given constraint. It can also be used to allow or deny all values. Structure is documented below.
	ListPolicy PolicyListPolicyPtrInput
	// The numeric ID of the organization to set the policy for.
	OrgId pulumi.StringPtrInput
	// A restore policy is a constraint to restore the default policy. Structure is documented below.
	RestorePolicy PolicyRestorePolicyPtrInput
	// (Computed) The timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds, representing when the variable was last updated. Example: "2016-10-09T12:33:37.578138407Z".
	UpdateTime pulumi.StringPtrInput
	// Version of the Policy. Default version is 0.
	Version pulumi.IntPtrInput
}

func (PolicyState) ElementType

func (PolicyState) ElementType() reflect.Type

type Project

type Project struct {
	pulumi.CustomResourceState

	// Create the 'default' network automatically.  Default `true`.
	// If set to `false`, the default network will be deleted.  Note that, for quota purposes, you
	// will still need to have 1 network slot available to create the project successfully, even if
	// you set `autoCreateNetwork` to `false`, since the network will exist momentarily.
	AutoCreateNetwork pulumi.BoolPtrOutput `pulumi:"autoCreateNetwork"`
	// The alphanumeric ID of the billing account this project
	// belongs to. The user or service account performing this operation with the provider
	// must have at mininum Billing Account User privileges (`roles/billing.user`) on the billing account.
	// See [Google Cloud Billing API Access Control](https://cloud.google.com/billing/docs/how-to/billing-access)
	// for more details.
	BillingAccount pulumi.StringPtrOutput `pulumi:"billingAccount"`
	// The numeric ID of the folder this project should be
	// created under. Only one of `orgId` or `folderId` may be
	// specified. If the `folderId` is specified, then the project is
	// created under the specified folder. Changing this forces the
	// project to be migrated to the newly specified folder.
	FolderId pulumi.StringOutput `pulumi:"folderId"`
	// A set of key/value label pairs to assign to the project.
	Labels pulumi.StringMapOutput `pulumi:"labels"`
	// The display name of the project.
	Name pulumi.StringOutput `pulumi:"name"`
	// The numeric identifier of the project.
	Number pulumi.StringOutput `pulumi:"number"`
	// The numeric ID of the organization this project belongs to.
	// Changing this forces a new project to be created.  Only one of
	// `orgId` or `folderId` may be specified. If the `orgId` is
	// specified then the project is created at the top level. Changing
	// this forces the project to be migrated to the newly specified
	// organization.
	OrgId pulumi.StringOutput `pulumi:"orgId"`
	// The project ID. Changing this forces a new project to be created.
	ProjectId pulumi.StringOutput `pulumi:"projectId"`
	// If true, the resource can be deleted
	// without deleting the Project via the Google API.
	SkipDelete pulumi.BoolOutput `pulumi:"skipDelete"`
}

Allows creation and management of a Google Cloud Platform project.

Projects created with this resource must be associated with an Organization. See the [Organization documentation](https://cloud.google.com/resource-manager/docs/quickstarts) for more details.

The user or service account that is running this provider when creating a `organizations.Project` resource must have `roles/resourcemanager.projectCreator` on the specified organization. See the [Access Control for Organizations Using IAM](https://cloud.google.com/resource-manager/docs/access-control-org) doc for more information.

> This resource reads the specified billing account on every provider apply and plan operation so you must have permissions on the specified billing account.

To get more information about projects, see:

* [API documentation](https://cloud.google.com/resource-manager/reference/rest/v1/projects) * How-to Guides

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v4/go/gcp/organizations"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := organizations.NewProject(ctx, "myProject", &organizations.ProjectArgs{
			OrgId:     pulumi.String("1234567"),
			ProjectId: pulumi.String("your-project-id"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

To create a project under a specific folder

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v4/go/gcp/organizations"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		department1, err := organizations.NewFolder(ctx, "department1", &organizations.FolderArgs{
			DisplayName: pulumi.String("Department 1"),
			Parent:      pulumi.String("organizations/1234567"),
		})
		if err != nil {
			return err
		}
		_, err = organizations.NewProject(ctx, "myProject_in_a_folder", &organizations.ProjectArgs{
			ProjectId: pulumi.String("your-project-id"),
			FolderId:  department1.Name,
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Projects can be imported using the `project_id`, e.g.

```sh

$ pulumi import gcp:organizations/project:Project my_project your-project-id

```

func GetProject

func GetProject(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ProjectState, opts ...pulumi.ResourceOption) (*Project, error)

GetProject gets an existing Project resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewProject

func NewProject(ctx *pulumi.Context,
	name string, args *ProjectArgs, opts ...pulumi.ResourceOption) (*Project, error)

NewProject registers a new resource with the given unique name, arguments, and options.

func (*Project) ElementType added in v4.4.0

func (*Project) ElementType() reflect.Type

func (*Project) ToProjectOutput added in v4.4.0

func (i *Project) ToProjectOutput() ProjectOutput

func (*Project) ToProjectOutputWithContext added in v4.4.0

func (i *Project) ToProjectOutputWithContext(ctx context.Context) ProjectOutput

func (*Project) ToProjectPtrOutput added in v4.11.1

func (i *Project) ToProjectPtrOutput() ProjectPtrOutput

func (*Project) ToProjectPtrOutputWithContext added in v4.11.1

func (i *Project) ToProjectPtrOutputWithContext(ctx context.Context) ProjectPtrOutput

type ProjectArgs

type ProjectArgs struct {
	// Create the 'default' network automatically.  Default `true`.
	// If set to `false`, the default network will be deleted.  Note that, for quota purposes, you
	// will still need to have 1 network slot available to create the project successfully, even if
	// you set `autoCreateNetwork` to `false`, since the network will exist momentarily.
	AutoCreateNetwork pulumi.BoolPtrInput
	// The alphanumeric ID of the billing account this project
	// belongs to. The user or service account performing this operation with the provider
	// must have at mininum Billing Account User privileges (`roles/billing.user`) on the billing account.
	// See [Google Cloud Billing API Access Control](https://cloud.google.com/billing/docs/how-to/billing-access)
	// for more details.
	BillingAccount pulumi.StringPtrInput
	// The numeric ID of the folder this project should be
	// created under. Only one of `orgId` or `folderId` may be
	// specified. If the `folderId` is specified, then the project is
	// created under the specified folder. Changing this forces the
	// project to be migrated to the newly specified folder.
	FolderId pulumi.StringPtrInput
	// A set of key/value label pairs to assign to the project.
	Labels pulumi.StringMapInput
	// The display name of the project.
	Name pulumi.StringPtrInput
	// The numeric ID of the organization this project belongs to.
	// Changing this forces a new project to be created.  Only one of
	// `orgId` or `folderId` may be specified. If the `orgId` is
	// specified then the project is created at the top level. Changing
	// this forces the project to be migrated to the newly specified
	// organization.
	OrgId pulumi.StringPtrInput
	// The project ID. Changing this forces a new project to be created.
	ProjectId pulumi.StringInput
	// If true, the resource can be deleted
	// without deleting the Project via the Google API.
	SkipDelete pulumi.BoolPtrInput
}

The set of arguments for constructing a Project resource.

func (ProjectArgs) ElementType

func (ProjectArgs) ElementType() reflect.Type

type ProjectArray added in v4.11.1

type ProjectArray []ProjectInput

func (ProjectArray) ElementType added in v4.11.1

func (ProjectArray) ElementType() reflect.Type

func (ProjectArray) ToProjectArrayOutput added in v4.11.1

func (i ProjectArray) ToProjectArrayOutput() ProjectArrayOutput

func (ProjectArray) ToProjectArrayOutputWithContext added in v4.11.1

func (i ProjectArray) ToProjectArrayOutputWithContext(ctx context.Context) ProjectArrayOutput

type ProjectArrayInput added in v4.11.1

type ProjectArrayInput interface {
	pulumi.Input

	ToProjectArrayOutput() ProjectArrayOutput
	ToProjectArrayOutputWithContext(context.Context) ProjectArrayOutput
}

ProjectArrayInput is an input type that accepts ProjectArray and ProjectArrayOutput values. You can construct a concrete instance of `ProjectArrayInput` via:

ProjectArray{ ProjectArgs{...} }

type ProjectArrayOutput added in v4.11.1

type ProjectArrayOutput struct{ *pulumi.OutputState }

func (ProjectArrayOutput) ElementType added in v4.11.1

func (ProjectArrayOutput) ElementType() reflect.Type

func (ProjectArrayOutput) Index added in v4.11.1

func (ProjectArrayOutput) ToProjectArrayOutput added in v4.11.1

func (o ProjectArrayOutput) ToProjectArrayOutput() ProjectArrayOutput

func (ProjectArrayOutput) ToProjectArrayOutputWithContext added in v4.11.1

func (o ProjectArrayOutput) ToProjectArrayOutputWithContext(ctx context.Context) ProjectArrayOutput

type ProjectInput added in v4.4.0

type ProjectInput interface {
	pulumi.Input

	ToProjectOutput() ProjectOutput
	ToProjectOutputWithContext(ctx context.Context) ProjectOutput
}

type ProjectMap added in v4.11.1

type ProjectMap map[string]ProjectInput

func (ProjectMap) ElementType added in v4.11.1

func (ProjectMap) ElementType() reflect.Type

func (ProjectMap) ToProjectMapOutput added in v4.11.1

func (i ProjectMap) ToProjectMapOutput() ProjectMapOutput

func (ProjectMap) ToProjectMapOutputWithContext added in v4.11.1

func (i ProjectMap) ToProjectMapOutputWithContext(ctx context.Context) ProjectMapOutput

type ProjectMapInput added in v4.11.1

type ProjectMapInput interface {
	pulumi.Input

	ToProjectMapOutput() ProjectMapOutput
	ToProjectMapOutputWithContext(context.Context) ProjectMapOutput
}

ProjectMapInput is an input type that accepts ProjectMap and ProjectMapOutput values. You can construct a concrete instance of `ProjectMapInput` via:

ProjectMap{ "key": ProjectArgs{...} }

type ProjectMapOutput added in v4.11.1

type ProjectMapOutput struct{ *pulumi.OutputState }

func (ProjectMapOutput) ElementType added in v4.11.1

func (ProjectMapOutput) ElementType() reflect.Type

func (ProjectMapOutput) MapIndex added in v4.11.1

func (ProjectMapOutput) ToProjectMapOutput added in v4.11.1

func (o ProjectMapOutput) ToProjectMapOutput() ProjectMapOutput

func (ProjectMapOutput) ToProjectMapOutputWithContext added in v4.11.1

func (o ProjectMapOutput) ToProjectMapOutputWithContext(ctx context.Context) ProjectMapOutput

type ProjectOutput added in v4.4.0

type ProjectOutput struct {
	*pulumi.OutputState
}

func (ProjectOutput) ElementType added in v4.4.0

func (ProjectOutput) ElementType() reflect.Type

func (ProjectOutput) ToProjectOutput added in v4.4.0

func (o ProjectOutput) ToProjectOutput() ProjectOutput

func (ProjectOutput) ToProjectOutputWithContext added in v4.4.0

func (o ProjectOutput) ToProjectOutputWithContext(ctx context.Context) ProjectOutput

func (ProjectOutput) ToProjectPtrOutput added in v4.11.1

func (o ProjectOutput) ToProjectPtrOutput() ProjectPtrOutput

func (ProjectOutput) ToProjectPtrOutputWithContext added in v4.11.1

func (o ProjectOutput) ToProjectPtrOutputWithContext(ctx context.Context) ProjectPtrOutput

type ProjectPtrInput added in v4.11.1

type ProjectPtrInput interface {
	pulumi.Input

	ToProjectPtrOutput() ProjectPtrOutput
	ToProjectPtrOutputWithContext(ctx context.Context) ProjectPtrOutput
}

type ProjectPtrOutput added in v4.11.1

type ProjectPtrOutput struct {
	*pulumi.OutputState
}

func (ProjectPtrOutput) ElementType added in v4.11.1

func (ProjectPtrOutput) ElementType() reflect.Type

func (ProjectPtrOutput) ToProjectPtrOutput added in v4.11.1

func (o ProjectPtrOutput) ToProjectPtrOutput() ProjectPtrOutput

func (ProjectPtrOutput) ToProjectPtrOutputWithContext added in v4.11.1

func (o ProjectPtrOutput) ToProjectPtrOutputWithContext(ctx context.Context) ProjectPtrOutput

type ProjectState

type ProjectState struct {
	// Create the 'default' network automatically.  Default `true`.
	// If set to `false`, the default network will be deleted.  Note that, for quota purposes, you
	// will still need to have 1 network slot available to create the project successfully, even if
	// you set `autoCreateNetwork` to `false`, since the network will exist momentarily.
	AutoCreateNetwork pulumi.BoolPtrInput
	// The alphanumeric ID of the billing account this project
	// belongs to. The user or service account performing this operation with the provider
	// must have at mininum Billing Account User privileges (`roles/billing.user`) on the billing account.
	// See [Google Cloud Billing API Access Control](https://cloud.google.com/billing/docs/how-to/billing-access)
	// for more details.
	BillingAccount pulumi.StringPtrInput
	// The numeric ID of the folder this project should be
	// created under. Only one of `orgId` or `folderId` may be
	// specified. If the `folderId` is specified, then the project is
	// created under the specified folder. Changing this forces the
	// project to be migrated to the newly specified folder.
	FolderId pulumi.StringPtrInput
	// A set of key/value label pairs to assign to the project.
	Labels pulumi.StringMapInput
	// The display name of the project.
	Name pulumi.StringPtrInput
	// The numeric identifier of the project.
	Number pulumi.StringPtrInput
	// The numeric ID of the organization this project belongs to.
	// Changing this forces a new project to be created.  Only one of
	// `orgId` or `folderId` may be specified. If the `orgId` is
	// specified then the project is created at the top level. Changing
	// this forces the project to be migrated to the newly specified
	// organization.
	OrgId pulumi.StringPtrInput
	// The project ID. Changing this forces a new project to be created.
	ProjectId pulumi.StringPtrInput
	// If true, the resource can be deleted
	// without deleting the Project via the Google API.
	SkipDelete pulumi.BoolPtrInput
}

func (ProjectState) ElementType

func (ProjectState) ElementType() reflect.Type

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL