billing

package
v6.67.1 Latest Latest
Warning

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

Go to latest
Published: Nov 4, 2023 License: Apache-2.0 Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AccountIamBinding

type AccountIamBinding struct {
	pulumi.CustomResourceState

	// The billing account id.
	//
	// For `billing.AccountIamMember` or `billing.AccountIamBinding`:
	//
	// * `member/members` - (Required) Identities that will be granted the privilege in `role`.
	//   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.
	BillingAccountId pulumi.StringOutput                 `pulumi:"billingAccountId"`
	Condition        AccountIamBindingConditionPtrOutput `pulumi:"condition"`
	// (Computed) The etag of the billing account's IAM policy.
	Etag    pulumi.StringOutput      `pulumi:"etag"`
	Members pulumi.StringArrayOutput `pulumi:"members"`
	// The role that should be applied. Only one
	// `billing.AccountIamBinding` can be used per role. Note that custom roles must be of the format
	// `[projects|organizations]/{parent-name}/roles/{role-name}`. Read more about roles [here](https://cloud.google.com/bigtable/docs/access-control#roles).
	//
	// `billing.AccountIamPolicy` only:
	Role pulumi.StringOutput `pulumi:"role"`
}

Three different resources help you manage IAM policies on billing accounts. Each of these resources serves a different use case:

* `billing.AccountIamPolicy`: Authoritative. Sets the IAM policy for the billing accounts and replaces any existing policy already attached. * `billing.AccountIamBinding`: Authoritative for a given role. Updates the IAM policy to grant a role to a list of members. Other roles within the IAM policy for the table are preserved. * `billing.AccountIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role of the billing accounts are preserved.

> **Note:** `billing.AccountIamPolicy` **cannot** be used in conjunction with `billing.AccountIamBinding` and `billing.AccountIamMember` or they will fight over what your policy should be. In addition, be careful not to accidentally unset ownership of the billing account as `billing.AccountIamPolicy` replaces the entire policy.

> **Note:** `billing.AccountIamBinding` resources **can be** used in conjunction with `billing.AccountIamMember` resources **only if** they do not grant privilege to the same role.

## google\_billing\_account\_iam\_policy

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/billing"
"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/organizations"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		admin, err := organizations.LookupIAMPolicy(ctx, &organizations.LookupIAMPolicyArgs{
			Bindings: []organizations.GetIAMPolicyBinding{
				{
					Role: "roles/billing.viewer",
					Members: []string{
						"user:jane@example.com",
					},
				},
			},
		}, nil)
		if err != nil {
			return err
		}
		_, err = billing.NewAccountIamPolicy(ctx, "editor", &billing.AccountIamPolicyArgs{
			BillingAccountId: pulumi.String("00AA00-000AAA-00AA0A"),
			PolicyData:       *pulumi.String(admin.PolicyData),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_billing\_account\_iam\_binding

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/billing"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := billing.NewAccountIamBinding(ctx, "editor", &billing.AccountIamBindingArgs{
			BillingAccountId: pulumi.String("00AA00-000AAA-00AA0A"),
			Members: pulumi.StringArray{
				pulumi.String("user:jane@example.com"),
			},
			Role: pulumi.String("roles/billing.viewer"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_billing\_account\_iam\_member

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/billing"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := billing.NewAccountIamMember(ctx, "editor", &billing.AccountIamMemberArgs{
			BillingAccountId: pulumi.String("00AA00-000AAA-00AA0A"),
			Member:           pulumi.String("user:jane@example.com"),
			Role:             pulumi.String("roles/billing.viewer"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Instance IAM resources can be imported using the project, table name, role and/or member.

```sh

$ pulumi import gcp:billing/accountIamBinding:AccountIamBinding binding "your-billing-account-id"

```

```sh

$ pulumi import gcp:billing/accountIamBinding:AccountIamBinding binding "your-billing-account-id roles/billing.user"

```

```sh

$ pulumi import gcp:billing/accountIamBinding:AccountIamBinding binding "your-billing-account-id roles/billing.user user:jane@example.com"

```

-> **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. `organizations/my-org-id/roles/my-custom-role`.

func GetAccountIamBinding

func GetAccountIamBinding(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *AccountIamBindingState, opts ...pulumi.ResourceOption) (*AccountIamBinding, error)

GetAccountIamBinding gets an existing AccountIamBinding 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 NewAccountIamBinding

func NewAccountIamBinding(ctx *pulumi.Context,
	name string, args *AccountIamBindingArgs, opts ...pulumi.ResourceOption) (*AccountIamBinding, error)

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

func (*AccountIamBinding) ElementType

func (*AccountIamBinding) ElementType() reflect.Type

func (*AccountIamBinding) ToAccountIamBindingOutput

func (i *AccountIamBinding) ToAccountIamBindingOutput() AccountIamBindingOutput

func (*AccountIamBinding) ToAccountIamBindingOutputWithContext

func (i *AccountIamBinding) ToAccountIamBindingOutputWithContext(ctx context.Context) AccountIamBindingOutput

func (*AccountIamBinding) ToOutput added in v6.65.1

type AccountIamBindingArgs

type AccountIamBindingArgs struct {
	// The billing account id.
	//
	// For `billing.AccountIamMember` or `billing.AccountIamBinding`:
	//
	// * `member/members` - (Required) Identities that will be granted the privilege in `role`.
	//   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.
	BillingAccountId pulumi.StringInput
	Condition        AccountIamBindingConditionPtrInput
	Members          pulumi.StringArrayInput
	// The role that should be applied. Only one
	// `billing.AccountIamBinding` can be used per role. Note that custom roles must be of the format
	// `[projects|organizations]/{parent-name}/roles/{role-name}`. Read more about roles [here](https://cloud.google.com/bigtable/docs/access-control#roles).
	//
	// `billing.AccountIamPolicy` only:
	Role pulumi.StringInput
}

The set of arguments for constructing a AccountIamBinding resource.

func (AccountIamBindingArgs) ElementType

func (AccountIamBindingArgs) ElementType() reflect.Type

type AccountIamBindingArray

type AccountIamBindingArray []AccountIamBindingInput

func (AccountIamBindingArray) ElementType

func (AccountIamBindingArray) ElementType() reflect.Type

func (AccountIamBindingArray) ToAccountIamBindingArrayOutput

func (i AccountIamBindingArray) ToAccountIamBindingArrayOutput() AccountIamBindingArrayOutput

func (AccountIamBindingArray) ToAccountIamBindingArrayOutputWithContext

func (i AccountIamBindingArray) ToAccountIamBindingArrayOutputWithContext(ctx context.Context) AccountIamBindingArrayOutput

func (AccountIamBindingArray) ToOutput added in v6.65.1

type AccountIamBindingArrayInput

type AccountIamBindingArrayInput interface {
	pulumi.Input

	ToAccountIamBindingArrayOutput() AccountIamBindingArrayOutput
	ToAccountIamBindingArrayOutputWithContext(context.Context) AccountIamBindingArrayOutput
}

AccountIamBindingArrayInput is an input type that accepts AccountIamBindingArray and AccountIamBindingArrayOutput values. You can construct a concrete instance of `AccountIamBindingArrayInput` via:

AccountIamBindingArray{ AccountIamBindingArgs{...} }

type AccountIamBindingArrayOutput

type AccountIamBindingArrayOutput struct{ *pulumi.OutputState }

func (AccountIamBindingArrayOutput) ElementType

func (AccountIamBindingArrayOutput) Index

func (AccountIamBindingArrayOutput) ToAccountIamBindingArrayOutput

func (o AccountIamBindingArrayOutput) ToAccountIamBindingArrayOutput() AccountIamBindingArrayOutput

func (AccountIamBindingArrayOutput) ToAccountIamBindingArrayOutputWithContext

func (o AccountIamBindingArrayOutput) ToAccountIamBindingArrayOutputWithContext(ctx context.Context) AccountIamBindingArrayOutput

func (AccountIamBindingArrayOutput) ToOutput added in v6.65.1

type AccountIamBindingCondition

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

type AccountIamBindingConditionArgs

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

func (AccountIamBindingConditionArgs) ElementType

func (AccountIamBindingConditionArgs) ToAccountIamBindingConditionOutput

func (i AccountIamBindingConditionArgs) ToAccountIamBindingConditionOutput() AccountIamBindingConditionOutput

func (AccountIamBindingConditionArgs) ToAccountIamBindingConditionOutputWithContext

func (i AccountIamBindingConditionArgs) ToAccountIamBindingConditionOutputWithContext(ctx context.Context) AccountIamBindingConditionOutput

func (AccountIamBindingConditionArgs) ToAccountIamBindingConditionPtrOutput

func (i AccountIamBindingConditionArgs) ToAccountIamBindingConditionPtrOutput() AccountIamBindingConditionPtrOutput

func (AccountIamBindingConditionArgs) ToAccountIamBindingConditionPtrOutputWithContext

func (i AccountIamBindingConditionArgs) ToAccountIamBindingConditionPtrOutputWithContext(ctx context.Context) AccountIamBindingConditionPtrOutput

func (AccountIamBindingConditionArgs) ToOutput added in v6.65.1

type AccountIamBindingConditionInput

type AccountIamBindingConditionInput interface {
	pulumi.Input

	ToAccountIamBindingConditionOutput() AccountIamBindingConditionOutput
	ToAccountIamBindingConditionOutputWithContext(context.Context) AccountIamBindingConditionOutput
}

AccountIamBindingConditionInput is an input type that accepts AccountIamBindingConditionArgs and AccountIamBindingConditionOutput values. You can construct a concrete instance of `AccountIamBindingConditionInput` via:

AccountIamBindingConditionArgs{...}

type AccountIamBindingConditionOutput

type AccountIamBindingConditionOutput struct{ *pulumi.OutputState }

func (AccountIamBindingConditionOutput) Description

func (AccountIamBindingConditionOutput) ElementType

func (AccountIamBindingConditionOutput) Expression

func (AccountIamBindingConditionOutput) Title

func (AccountIamBindingConditionOutput) ToAccountIamBindingConditionOutput

func (o AccountIamBindingConditionOutput) ToAccountIamBindingConditionOutput() AccountIamBindingConditionOutput

func (AccountIamBindingConditionOutput) ToAccountIamBindingConditionOutputWithContext

func (o AccountIamBindingConditionOutput) ToAccountIamBindingConditionOutputWithContext(ctx context.Context) AccountIamBindingConditionOutput

func (AccountIamBindingConditionOutput) ToAccountIamBindingConditionPtrOutput

func (o AccountIamBindingConditionOutput) ToAccountIamBindingConditionPtrOutput() AccountIamBindingConditionPtrOutput

func (AccountIamBindingConditionOutput) ToAccountIamBindingConditionPtrOutputWithContext

func (o AccountIamBindingConditionOutput) ToAccountIamBindingConditionPtrOutputWithContext(ctx context.Context) AccountIamBindingConditionPtrOutput

func (AccountIamBindingConditionOutput) ToOutput added in v6.65.1

type AccountIamBindingConditionPtrInput

type AccountIamBindingConditionPtrInput interface {
	pulumi.Input

	ToAccountIamBindingConditionPtrOutput() AccountIamBindingConditionPtrOutput
	ToAccountIamBindingConditionPtrOutputWithContext(context.Context) AccountIamBindingConditionPtrOutput
}

AccountIamBindingConditionPtrInput is an input type that accepts AccountIamBindingConditionArgs, AccountIamBindingConditionPtr and AccountIamBindingConditionPtrOutput values. You can construct a concrete instance of `AccountIamBindingConditionPtrInput` via:

        AccountIamBindingConditionArgs{...}

or:

        nil

type AccountIamBindingConditionPtrOutput

type AccountIamBindingConditionPtrOutput struct{ *pulumi.OutputState }

func (AccountIamBindingConditionPtrOutput) Description

func (AccountIamBindingConditionPtrOutput) Elem

func (AccountIamBindingConditionPtrOutput) ElementType

func (AccountIamBindingConditionPtrOutput) Expression

func (AccountIamBindingConditionPtrOutput) Title

func (AccountIamBindingConditionPtrOutput) ToAccountIamBindingConditionPtrOutput

func (o AccountIamBindingConditionPtrOutput) ToAccountIamBindingConditionPtrOutput() AccountIamBindingConditionPtrOutput

func (AccountIamBindingConditionPtrOutput) ToAccountIamBindingConditionPtrOutputWithContext

func (o AccountIamBindingConditionPtrOutput) ToAccountIamBindingConditionPtrOutputWithContext(ctx context.Context) AccountIamBindingConditionPtrOutput

func (AccountIamBindingConditionPtrOutput) ToOutput added in v6.65.1

type AccountIamBindingInput

type AccountIamBindingInput interface {
	pulumi.Input

	ToAccountIamBindingOutput() AccountIamBindingOutput
	ToAccountIamBindingOutputWithContext(ctx context.Context) AccountIamBindingOutput
}

type AccountIamBindingMap

type AccountIamBindingMap map[string]AccountIamBindingInput

func (AccountIamBindingMap) ElementType

func (AccountIamBindingMap) ElementType() reflect.Type

func (AccountIamBindingMap) ToAccountIamBindingMapOutput

func (i AccountIamBindingMap) ToAccountIamBindingMapOutput() AccountIamBindingMapOutput

func (AccountIamBindingMap) ToAccountIamBindingMapOutputWithContext

func (i AccountIamBindingMap) ToAccountIamBindingMapOutputWithContext(ctx context.Context) AccountIamBindingMapOutput

func (AccountIamBindingMap) ToOutput added in v6.65.1

type AccountIamBindingMapInput

type AccountIamBindingMapInput interface {
	pulumi.Input

	ToAccountIamBindingMapOutput() AccountIamBindingMapOutput
	ToAccountIamBindingMapOutputWithContext(context.Context) AccountIamBindingMapOutput
}

AccountIamBindingMapInput is an input type that accepts AccountIamBindingMap and AccountIamBindingMapOutput values. You can construct a concrete instance of `AccountIamBindingMapInput` via:

AccountIamBindingMap{ "key": AccountIamBindingArgs{...} }

type AccountIamBindingMapOutput

type AccountIamBindingMapOutput struct{ *pulumi.OutputState }

func (AccountIamBindingMapOutput) ElementType

func (AccountIamBindingMapOutput) ElementType() reflect.Type

func (AccountIamBindingMapOutput) MapIndex

func (AccountIamBindingMapOutput) ToAccountIamBindingMapOutput

func (o AccountIamBindingMapOutput) ToAccountIamBindingMapOutput() AccountIamBindingMapOutput

func (AccountIamBindingMapOutput) ToAccountIamBindingMapOutputWithContext

func (o AccountIamBindingMapOutput) ToAccountIamBindingMapOutputWithContext(ctx context.Context) AccountIamBindingMapOutput

func (AccountIamBindingMapOutput) ToOutput added in v6.65.1

type AccountIamBindingOutput

type AccountIamBindingOutput struct{ *pulumi.OutputState }

func (AccountIamBindingOutput) BillingAccountId added in v6.23.0

func (o AccountIamBindingOutput) BillingAccountId() pulumi.StringOutput

The billing account id.

For `billing.AccountIamMember` or `billing.AccountIamBinding`:

  • `member/members` - (Required) Identities that will be granted the privilege in `role`. 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 (AccountIamBindingOutput) Condition added in v6.23.0

func (AccountIamBindingOutput) ElementType

func (AccountIamBindingOutput) ElementType() reflect.Type

func (AccountIamBindingOutput) Etag added in v6.23.0

(Computed) The etag of the billing account's IAM policy.

func (AccountIamBindingOutput) Members added in v6.23.0

func (AccountIamBindingOutput) Role added in v6.23.0

The role that should be applied. Only one `billing.AccountIamBinding` can be used per role. Note that custom roles must be of the format `[projects|organizations]/{parent-name}/roles/{role-name}`. Read more about roles [here](https://cloud.google.com/bigtable/docs/access-control#roles).

`billing.AccountIamPolicy` only:

func (AccountIamBindingOutput) ToAccountIamBindingOutput

func (o AccountIamBindingOutput) ToAccountIamBindingOutput() AccountIamBindingOutput

func (AccountIamBindingOutput) ToAccountIamBindingOutputWithContext

func (o AccountIamBindingOutput) ToAccountIamBindingOutputWithContext(ctx context.Context) AccountIamBindingOutput

func (AccountIamBindingOutput) ToOutput added in v6.65.1

type AccountIamBindingState

type AccountIamBindingState struct {
	// The billing account id.
	//
	// For `billing.AccountIamMember` or `billing.AccountIamBinding`:
	//
	// * `member/members` - (Required) Identities that will be granted the privilege in `role`.
	//   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.
	BillingAccountId pulumi.StringPtrInput
	Condition        AccountIamBindingConditionPtrInput
	// (Computed) The etag of the billing account's IAM policy.
	Etag    pulumi.StringPtrInput
	Members pulumi.StringArrayInput
	// The role that should be applied. Only one
	// `billing.AccountIamBinding` can be used per role. Note that custom roles must be of the format
	// `[projects|organizations]/{parent-name}/roles/{role-name}`. Read more about roles [here](https://cloud.google.com/bigtable/docs/access-control#roles).
	//
	// `billing.AccountIamPolicy` only:
	Role pulumi.StringPtrInput
}

func (AccountIamBindingState) ElementType

func (AccountIamBindingState) ElementType() reflect.Type

type AccountIamMember

type AccountIamMember struct {
	pulumi.CustomResourceState

	// The billing account id.
	//
	// For `billing.AccountIamMember` or `billing.AccountIamBinding`:
	//
	// * `member/members` - (Required) Identities that will be granted the privilege in `role`.
	//   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.
	BillingAccountId pulumi.StringOutput                `pulumi:"billingAccountId"`
	Condition        AccountIamMemberConditionPtrOutput `pulumi:"condition"`
	// (Computed) The etag of the billing account's IAM policy.
	Etag   pulumi.StringOutput `pulumi:"etag"`
	Member pulumi.StringOutput `pulumi:"member"`
	// The role that should be applied. Only one
	// `billing.AccountIamBinding` can be used per role. Note that custom roles must be of the format
	// `[projects|organizations]/{parent-name}/roles/{role-name}`. Read more about roles [here](https://cloud.google.com/bigtable/docs/access-control#roles).
	//
	// `billing.AccountIamPolicy` only:
	Role pulumi.StringOutput `pulumi:"role"`
}

Three different resources help you manage IAM policies on billing accounts. Each of these resources serves a different use case:

* `billing.AccountIamPolicy`: Authoritative. Sets the IAM policy for the billing accounts and replaces any existing policy already attached. * `billing.AccountIamBinding`: Authoritative for a given role. Updates the IAM policy to grant a role to a list of members. Other roles within the IAM policy for the table are preserved. * `billing.AccountIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role of the billing accounts are preserved.

> **Note:** `billing.AccountIamPolicy` **cannot** be used in conjunction with `billing.AccountIamBinding` and `billing.AccountIamMember` or they will fight over what your policy should be. In addition, be careful not to accidentally unset ownership of the billing account as `billing.AccountIamPolicy` replaces the entire policy.

> **Note:** `billing.AccountIamBinding` resources **can be** used in conjunction with `billing.AccountIamMember` resources **only if** they do not grant privilege to the same role.

## google\_billing\_account\_iam\_policy

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/billing"
"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/organizations"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		admin, err := organizations.LookupIAMPolicy(ctx, &organizations.LookupIAMPolicyArgs{
			Bindings: []organizations.GetIAMPolicyBinding{
				{
					Role: "roles/billing.viewer",
					Members: []string{
						"user:jane@example.com",
					},
				},
			},
		}, nil)
		if err != nil {
			return err
		}
		_, err = billing.NewAccountIamPolicy(ctx, "editor", &billing.AccountIamPolicyArgs{
			BillingAccountId: pulumi.String("00AA00-000AAA-00AA0A"),
			PolicyData:       *pulumi.String(admin.PolicyData),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_billing\_account\_iam\_binding

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/billing"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := billing.NewAccountIamBinding(ctx, "editor", &billing.AccountIamBindingArgs{
			BillingAccountId: pulumi.String("00AA00-000AAA-00AA0A"),
			Members: pulumi.StringArray{
				pulumi.String("user:jane@example.com"),
			},
			Role: pulumi.String("roles/billing.viewer"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_billing\_account\_iam\_member

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/billing"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := billing.NewAccountIamMember(ctx, "editor", &billing.AccountIamMemberArgs{
			BillingAccountId: pulumi.String("00AA00-000AAA-00AA0A"),
			Member:           pulumi.String("user:jane@example.com"),
			Role:             pulumi.String("roles/billing.viewer"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Instance IAM resources can be imported using the project, table name, role and/or member.

```sh

$ pulumi import gcp:billing/accountIamMember:AccountIamMember binding "your-billing-account-id"

```

```sh

$ pulumi import gcp:billing/accountIamMember:AccountIamMember binding "your-billing-account-id roles/billing.user"

```

```sh

$ pulumi import gcp:billing/accountIamMember:AccountIamMember binding "your-billing-account-id roles/billing.user user:jane@example.com"

```

-> **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. `organizations/my-org-id/roles/my-custom-role`.

func GetAccountIamMember

func GetAccountIamMember(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *AccountIamMemberState, opts ...pulumi.ResourceOption) (*AccountIamMember, error)

GetAccountIamMember gets an existing AccountIamMember 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 NewAccountIamMember

func NewAccountIamMember(ctx *pulumi.Context,
	name string, args *AccountIamMemberArgs, opts ...pulumi.ResourceOption) (*AccountIamMember, error)

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

func (*AccountIamMember) ElementType

func (*AccountIamMember) ElementType() reflect.Type

func (*AccountIamMember) ToAccountIamMemberOutput

func (i *AccountIamMember) ToAccountIamMemberOutput() AccountIamMemberOutput

func (*AccountIamMember) ToAccountIamMemberOutputWithContext

func (i *AccountIamMember) ToAccountIamMemberOutputWithContext(ctx context.Context) AccountIamMemberOutput

func (*AccountIamMember) ToOutput added in v6.65.1

type AccountIamMemberArgs

type AccountIamMemberArgs struct {
	// The billing account id.
	//
	// For `billing.AccountIamMember` or `billing.AccountIamBinding`:
	//
	// * `member/members` - (Required) Identities that will be granted the privilege in `role`.
	//   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.
	BillingAccountId pulumi.StringInput
	Condition        AccountIamMemberConditionPtrInput
	Member           pulumi.StringInput
	// The role that should be applied. Only one
	// `billing.AccountIamBinding` can be used per role. Note that custom roles must be of the format
	// `[projects|organizations]/{parent-name}/roles/{role-name}`. Read more about roles [here](https://cloud.google.com/bigtable/docs/access-control#roles).
	//
	// `billing.AccountIamPolicy` only:
	Role pulumi.StringInput
}

The set of arguments for constructing a AccountIamMember resource.

func (AccountIamMemberArgs) ElementType

func (AccountIamMemberArgs) ElementType() reflect.Type

type AccountIamMemberArray

type AccountIamMemberArray []AccountIamMemberInput

func (AccountIamMemberArray) ElementType

func (AccountIamMemberArray) ElementType() reflect.Type

func (AccountIamMemberArray) ToAccountIamMemberArrayOutput

func (i AccountIamMemberArray) ToAccountIamMemberArrayOutput() AccountIamMemberArrayOutput

func (AccountIamMemberArray) ToAccountIamMemberArrayOutputWithContext

func (i AccountIamMemberArray) ToAccountIamMemberArrayOutputWithContext(ctx context.Context) AccountIamMemberArrayOutput

func (AccountIamMemberArray) ToOutput added in v6.65.1

type AccountIamMemberArrayInput

type AccountIamMemberArrayInput interface {
	pulumi.Input

	ToAccountIamMemberArrayOutput() AccountIamMemberArrayOutput
	ToAccountIamMemberArrayOutputWithContext(context.Context) AccountIamMemberArrayOutput
}

AccountIamMemberArrayInput is an input type that accepts AccountIamMemberArray and AccountIamMemberArrayOutput values. You can construct a concrete instance of `AccountIamMemberArrayInput` via:

AccountIamMemberArray{ AccountIamMemberArgs{...} }

type AccountIamMemberArrayOutput

type AccountIamMemberArrayOutput struct{ *pulumi.OutputState }

func (AccountIamMemberArrayOutput) ElementType

func (AccountIamMemberArrayOutput) Index

func (AccountIamMemberArrayOutput) ToAccountIamMemberArrayOutput

func (o AccountIamMemberArrayOutput) ToAccountIamMemberArrayOutput() AccountIamMemberArrayOutput

func (AccountIamMemberArrayOutput) ToAccountIamMemberArrayOutputWithContext

func (o AccountIamMemberArrayOutput) ToAccountIamMemberArrayOutputWithContext(ctx context.Context) AccountIamMemberArrayOutput

func (AccountIamMemberArrayOutput) ToOutput added in v6.65.1

type AccountIamMemberCondition

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

type AccountIamMemberConditionArgs

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

func (AccountIamMemberConditionArgs) ElementType

func (AccountIamMemberConditionArgs) ToAccountIamMemberConditionOutput

func (i AccountIamMemberConditionArgs) ToAccountIamMemberConditionOutput() AccountIamMemberConditionOutput

func (AccountIamMemberConditionArgs) ToAccountIamMemberConditionOutputWithContext

func (i AccountIamMemberConditionArgs) ToAccountIamMemberConditionOutputWithContext(ctx context.Context) AccountIamMemberConditionOutput

func (AccountIamMemberConditionArgs) ToAccountIamMemberConditionPtrOutput

func (i AccountIamMemberConditionArgs) ToAccountIamMemberConditionPtrOutput() AccountIamMemberConditionPtrOutput

func (AccountIamMemberConditionArgs) ToAccountIamMemberConditionPtrOutputWithContext

func (i AccountIamMemberConditionArgs) ToAccountIamMemberConditionPtrOutputWithContext(ctx context.Context) AccountIamMemberConditionPtrOutput

func (AccountIamMemberConditionArgs) ToOutput added in v6.65.1

type AccountIamMemberConditionInput

type AccountIamMemberConditionInput interface {
	pulumi.Input

	ToAccountIamMemberConditionOutput() AccountIamMemberConditionOutput
	ToAccountIamMemberConditionOutputWithContext(context.Context) AccountIamMemberConditionOutput
}

AccountIamMemberConditionInput is an input type that accepts AccountIamMemberConditionArgs and AccountIamMemberConditionOutput values. You can construct a concrete instance of `AccountIamMemberConditionInput` via:

AccountIamMemberConditionArgs{...}

type AccountIamMemberConditionOutput

type AccountIamMemberConditionOutput struct{ *pulumi.OutputState }

func (AccountIamMemberConditionOutput) Description

func (AccountIamMemberConditionOutput) ElementType

func (AccountIamMemberConditionOutput) Expression

func (AccountIamMemberConditionOutput) Title

func (AccountIamMemberConditionOutput) ToAccountIamMemberConditionOutput

func (o AccountIamMemberConditionOutput) ToAccountIamMemberConditionOutput() AccountIamMemberConditionOutput

func (AccountIamMemberConditionOutput) ToAccountIamMemberConditionOutputWithContext

func (o AccountIamMemberConditionOutput) ToAccountIamMemberConditionOutputWithContext(ctx context.Context) AccountIamMemberConditionOutput

func (AccountIamMemberConditionOutput) ToAccountIamMemberConditionPtrOutput

func (o AccountIamMemberConditionOutput) ToAccountIamMemberConditionPtrOutput() AccountIamMemberConditionPtrOutput

func (AccountIamMemberConditionOutput) ToAccountIamMemberConditionPtrOutputWithContext

func (o AccountIamMemberConditionOutput) ToAccountIamMemberConditionPtrOutputWithContext(ctx context.Context) AccountIamMemberConditionPtrOutput

func (AccountIamMemberConditionOutput) ToOutput added in v6.65.1

type AccountIamMemberConditionPtrInput

type AccountIamMemberConditionPtrInput interface {
	pulumi.Input

	ToAccountIamMemberConditionPtrOutput() AccountIamMemberConditionPtrOutput
	ToAccountIamMemberConditionPtrOutputWithContext(context.Context) AccountIamMemberConditionPtrOutput
}

AccountIamMemberConditionPtrInput is an input type that accepts AccountIamMemberConditionArgs, AccountIamMemberConditionPtr and AccountIamMemberConditionPtrOutput values. You can construct a concrete instance of `AccountIamMemberConditionPtrInput` via:

        AccountIamMemberConditionArgs{...}

or:

        nil

type AccountIamMemberConditionPtrOutput

type AccountIamMemberConditionPtrOutput struct{ *pulumi.OutputState }

func (AccountIamMemberConditionPtrOutput) Description

func (AccountIamMemberConditionPtrOutput) Elem

func (AccountIamMemberConditionPtrOutput) ElementType

func (AccountIamMemberConditionPtrOutput) Expression

func (AccountIamMemberConditionPtrOutput) Title

func (AccountIamMemberConditionPtrOutput) ToAccountIamMemberConditionPtrOutput

func (o AccountIamMemberConditionPtrOutput) ToAccountIamMemberConditionPtrOutput() AccountIamMemberConditionPtrOutput

func (AccountIamMemberConditionPtrOutput) ToAccountIamMemberConditionPtrOutputWithContext

func (o AccountIamMemberConditionPtrOutput) ToAccountIamMemberConditionPtrOutputWithContext(ctx context.Context) AccountIamMemberConditionPtrOutput

func (AccountIamMemberConditionPtrOutput) ToOutput added in v6.65.1

type AccountIamMemberInput

type AccountIamMemberInput interface {
	pulumi.Input

	ToAccountIamMemberOutput() AccountIamMemberOutput
	ToAccountIamMemberOutputWithContext(ctx context.Context) AccountIamMemberOutput
}

type AccountIamMemberMap

type AccountIamMemberMap map[string]AccountIamMemberInput

func (AccountIamMemberMap) ElementType

func (AccountIamMemberMap) ElementType() reflect.Type

func (AccountIamMemberMap) ToAccountIamMemberMapOutput

func (i AccountIamMemberMap) ToAccountIamMemberMapOutput() AccountIamMemberMapOutput

func (AccountIamMemberMap) ToAccountIamMemberMapOutputWithContext

func (i AccountIamMemberMap) ToAccountIamMemberMapOutputWithContext(ctx context.Context) AccountIamMemberMapOutput

func (AccountIamMemberMap) ToOutput added in v6.65.1

type AccountIamMemberMapInput

type AccountIamMemberMapInput interface {
	pulumi.Input

	ToAccountIamMemberMapOutput() AccountIamMemberMapOutput
	ToAccountIamMemberMapOutputWithContext(context.Context) AccountIamMemberMapOutput
}

AccountIamMemberMapInput is an input type that accepts AccountIamMemberMap and AccountIamMemberMapOutput values. You can construct a concrete instance of `AccountIamMemberMapInput` via:

AccountIamMemberMap{ "key": AccountIamMemberArgs{...} }

type AccountIamMemberMapOutput

type AccountIamMemberMapOutput struct{ *pulumi.OutputState }

func (AccountIamMemberMapOutput) ElementType

func (AccountIamMemberMapOutput) ElementType() reflect.Type

func (AccountIamMemberMapOutput) MapIndex

func (AccountIamMemberMapOutput) ToAccountIamMemberMapOutput

func (o AccountIamMemberMapOutput) ToAccountIamMemberMapOutput() AccountIamMemberMapOutput

func (AccountIamMemberMapOutput) ToAccountIamMemberMapOutputWithContext

func (o AccountIamMemberMapOutput) ToAccountIamMemberMapOutputWithContext(ctx context.Context) AccountIamMemberMapOutput

func (AccountIamMemberMapOutput) ToOutput added in v6.65.1

type AccountIamMemberOutput

type AccountIamMemberOutput struct{ *pulumi.OutputState }

func (AccountIamMemberOutput) BillingAccountId added in v6.23.0

func (o AccountIamMemberOutput) BillingAccountId() pulumi.StringOutput

The billing account id.

For `billing.AccountIamMember` or `billing.AccountIamBinding`:

  • `member/members` - (Required) Identities that will be granted the privilege in `role`. 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 (AccountIamMemberOutput) Condition added in v6.23.0

func (AccountIamMemberOutput) ElementType

func (AccountIamMemberOutput) ElementType() reflect.Type

func (AccountIamMemberOutput) Etag added in v6.23.0

(Computed) The etag of the billing account's IAM policy.

func (AccountIamMemberOutput) Member added in v6.23.0

func (AccountIamMemberOutput) Role added in v6.23.0

The role that should be applied. Only one `billing.AccountIamBinding` can be used per role. Note that custom roles must be of the format `[projects|organizations]/{parent-name}/roles/{role-name}`. Read more about roles [here](https://cloud.google.com/bigtable/docs/access-control#roles).

`billing.AccountIamPolicy` only:

func (AccountIamMemberOutput) ToAccountIamMemberOutput

func (o AccountIamMemberOutput) ToAccountIamMemberOutput() AccountIamMemberOutput

func (AccountIamMemberOutput) ToAccountIamMemberOutputWithContext

func (o AccountIamMemberOutput) ToAccountIamMemberOutputWithContext(ctx context.Context) AccountIamMemberOutput

func (AccountIamMemberOutput) ToOutput added in v6.65.1

type AccountIamMemberState

type AccountIamMemberState struct {
	// The billing account id.
	//
	// For `billing.AccountIamMember` or `billing.AccountIamBinding`:
	//
	// * `member/members` - (Required) Identities that will be granted the privilege in `role`.
	//   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.
	BillingAccountId pulumi.StringPtrInput
	Condition        AccountIamMemberConditionPtrInput
	// (Computed) The etag of the billing account's IAM policy.
	Etag   pulumi.StringPtrInput
	Member pulumi.StringPtrInput
	// The role that should be applied. Only one
	// `billing.AccountIamBinding` can be used per role. Note that custom roles must be of the format
	// `[projects|organizations]/{parent-name}/roles/{role-name}`. Read more about roles [here](https://cloud.google.com/bigtable/docs/access-control#roles).
	//
	// `billing.AccountIamPolicy` only:
	Role pulumi.StringPtrInput
}

func (AccountIamMemberState) ElementType

func (AccountIamMemberState) ElementType() reflect.Type

type AccountIamPolicy

type AccountIamPolicy struct {
	pulumi.CustomResourceState

	// The billing account id.
	//
	// For `billing.AccountIamMember` or `billing.AccountIamBinding`:
	//
	// * `member/members` - (Required) Identities that will be granted the privilege in `role`.
	//   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.
	BillingAccountId pulumi.StringOutput `pulumi:"billingAccountId"`
	// (Computed) The etag of the billing account's IAM policy.
	Etag pulumi.StringOutput `pulumi:"etag"`
	// The policy data generated by a `organizations.getIAMPolicy` data source.
	//
	// ***
	PolicyData pulumi.StringOutput `pulumi:"policyData"`
}

Three different resources help you manage IAM policies on billing accounts. Each of these resources serves a different use case:

* `billing.AccountIamPolicy`: Authoritative. Sets the IAM policy for the billing accounts and replaces any existing policy already attached. * `billing.AccountIamBinding`: Authoritative for a given role. Updates the IAM policy to grant a role to a list of members. Other roles within the IAM policy for the table are preserved. * `billing.AccountIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role of the billing accounts are preserved.

> **Note:** `billing.AccountIamPolicy` **cannot** be used in conjunction with `billing.AccountIamBinding` and `billing.AccountIamMember` or they will fight over what your policy should be. In addition, be careful not to accidentally unset ownership of the billing account as `billing.AccountIamPolicy` replaces the entire policy.

> **Note:** `billing.AccountIamBinding` resources **can be** used in conjunction with `billing.AccountIamMember` resources **only if** they do not grant privilege to the same role.

## google\_billing\_account\_iam\_policy

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/billing"
"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/organizations"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		admin, err := organizations.LookupIAMPolicy(ctx, &organizations.LookupIAMPolicyArgs{
			Bindings: []organizations.GetIAMPolicyBinding{
				{
					Role: "roles/billing.viewer",
					Members: []string{
						"user:jane@example.com",
					},
				},
			},
		}, nil)
		if err != nil {
			return err
		}
		_, err = billing.NewAccountIamPolicy(ctx, "editor", &billing.AccountIamPolicyArgs{
			BillingAccountId: pulumi.String("00AA00-000AAA-00AA0A"),
			PolicyData:       *pulumi.String(admin.PolicyData),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_billing\_account\_iam\_binding

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/billing"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := billing.NewAccountIamBinding(ctx, "editor", &billing.AccountIamBindingArgs{
			BillingAccountId: pulumi.String("00AA00-000AAA-00AA0A"),
			Members: pulumi.StringArray{
				pulumi.String("user:jane@example.com"),
			},
			Role: pulumi.String("roles/billing.viewer"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_billing\_account\_iam\_member

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/billing"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := billing.NewAccountIamMember(ctx, "editor", &billing.AccountIamMemberArgs{
			BillingAccountId: pulumi.String("00AA00-000AAA-00AA0A"),
			Member:           pulumi.String("user:jane@example.com"),
			Role:             pulumi.String("roles/billing.viewer"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Instance IAM resources can be imported using the project, table name, role and/or member.

```sh

$ pulumi import gcp:billing/accountIamPolicy:AccountIamPolicy binding "your-billing-account-id"

```

```sh

$ pulumi import gcp:billing/accountIamPolicy:AccountIamPolicy binding "your-billing-account-id roles/billing.user"

```

```sh

$ pulumi import gcp:billing/accountIamPolicy:AccountIamPolicy binding "your-billing-account-id roles/billing.user user:jane@example.com"

```

-> **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. `organizations/my-org-id/roles/my-custom-role`.

func GetAccountIamPolicy

func GetAccountIamPolicy(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *AccountIamPolicyState, opts ...pulumi.ResourceOption) (*AccountIamPolicy, error)

GetAccountIamPolicy gets an existing AccountIamPolicy 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 NewAccountIamPolicy

func NewAccountIamPolicy(ctx *pulumi.Context,
	name string, args *AccountIamPolicyArgs, opts ...pulumi.ResourceOption) (*AccountIamPolicy, error)

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

func (*AccountIamPolicy) ElementType

func (*AccountIamPolicy) ElementType() reflect.Type

func (*AccountIamPolicy) ToAccountIamPolicyOutput

func (i *AccountIamPolicy) ToAccountIamPolicyOutput() AccountIamPolicyOutput

func (*AccountIamPolicy) ToAccountIamPolicyOutputWithContext

func (i *AccountIamPolicy) ToAccountIamPolicyOutputWithContext(ctx context.Context) AccountIamPolicyOutput

func (*AccountIamPolicy) ToOutput added in v6.65.1

type AccountIamPolicyArgs

type AccountIamPolicyArgs struct {
	// The billing account id.
	//
	// For `billing.AccountIamMember` or `billing.AccountIamBinding`:
	//
	// * `member/members` - (Required) Identities that will be granted the privilege in `role`.
	//   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.
	BillingAccountId pulumi.StringInput
	// The policy data generated by a `organizations.getIAMPolicy` data source.
	//
	// ***
	PolicyData pulumi.StringInput
}

The set of arguments for constructing a AccountIamPolicy resource.

func (AccountIamPolicyArgs) ElementType

func (AccountIamPolicyArgs) ElementType() reflect.Type

type AccountIamPolicyArray

type AccountIamPolicyArray []AccountIamPolicyInput

func (AccountIamPolicyArray) ElementType

func (AccountIamPolicyArray) ElementType() reflect.Type

func (AccountIamPolicyArray) ToAccountIamPolicyArrayOutput

func (i AccountIamPolicyArray) ToAccountIamPolicyArrayOutput() AccountIamPolicyArrayOutput

func (AccountIamPolicyArray) ToAccountIamPolicyArrayOutputWithContext

func (i AccountIamPolicyArray) ToAccountIamPolicyArrayOutputWithContext(ctx context.Context) AccountIamPolicyArrayOutput

func (AccountIamPolicyArray) ToOutput added in v6.65.1

type AccountIamPolicyArrayInput

type AccountIamPolicyArrayInput interface {
	pulumi.Input

	ToAccountIamPolicyArrayOutput() AccountIamPolicyArrayOutput
	ToAccountIamPolicyArrayOutputWithContext(context.Context) AccountIamPolicyArrayOutput
}

AccountIamPolicyArrayInput is an input type that accepts AccountIamPolicyArray and AccountIamPolicyArrayOutput values. You can construct a concrete instance of `AccountIamPolicyArrayInput` via:

AccountIamPolicyArray{ AccountIamPolicyArgs{...} }

type AccountIamPolicyArrayOutput

type AccountIamPolicyArrayOutput struct{ *pulumi.OutputState }

func (AccountIamPolicyArrayOutput) ElementType

func (AccountIamPolicyArrayOutput) Index

func (AccountIamPolicyArrayOutput) ToAccountIamPolicyArrayOutput

func (o AccountIamPolicyArrayOutput) ToAccountIamPolicyArrayOutput() AccountIamPolicyArrayOutput

func (AccountIamPolicyArrayOutput) ToAccountIamPolicyArrayOutputWithContext

func (o AccountIamPolicyArrayOutput) ToAccountIamPolicyArrayOutputWithContext(ctx context.Context) AccountIamPolicyArrayOutput

func (AccountIamPolicyArrayOutput) ToOutput added in v6.65.1

type AccountIamPolicyInput

type AccountIamPolicyInput interface {
	pulumi.Input

	ToAccountIamPolicyOutput() AccountIamPolicyOutput
	ToAccountIamPolicyOutputWithContext(ctx context.Context) AccountIamPolicyOutput
}

type AccountIamPolicyMap

type AccountIamPolicyMap map[string]AccountIamPolicyInput

func (AccountIamPolicyMap) ElementType

func (AccountIamPolicyMap) ElementType() reflect.Type

func (AccountIamPolicyMap) ToAccountIamPolicyMapOutput

func (i AccountIamPolicyMap) ToAccountIamPolicyMapOutput() AccountIamPolicyMapOutput

func (AccountIamPolicyMap) ToAccountIamPolicyMapOutputWithContext

func (i AccountIamPolicyMap) ToAccountIamPolicyMapOutputWithContext(ctx context.Context) AccountIamPolicyMapOutput

func (AccountIamPolicyMap) ToOutput added in v6.65.1

type AccountIamPolicyMapInput

type AccountIamPolicyMapInput interface {
	pulumi.Input

	ToAccountIamPolicyMapOutput() AccountIamPolicyMapOutput
	ToAccountIamPolicyMapOutputWithContext(context.Context) AccountIamPolicyMapOutput
}

AccountIamPolicyMapInput is an input type that accepts AccountIamPolicyMap and AccountIamPolicyMapOutput values. You can construct a concrete instance of `AccountIamPolicyMapInput` via:

AccountIamPolicyMap{ "key": AccountIamPolicyArgs{...} }

type AccountIamPolicyMapOutput

type AccountIamPolicyMapOutput struct{ *pulumi.OutputState }

func (AccountIamPolicyMapOutput) ElementType

func (AccountIamPolicyMapOutput) ElementType() reflect.Type

func (AccountIamPolicyMapOutput) MapIndex

func (AccountIamPolicyMapOutput) ToAccountIamPolicyMapOutput

func (o AccountIamPolicyMapOutput) ToAccountIamPolicyMapOutput() AccountIamPolicyMapOutput

func (AccountIamPolicyMapOutput) ToAccountIamPolicyMapOutputWithContext

func (o AccountIamPolicyMapOutput) ToAccountIamPolicyMapOutputWithContext(ctx context.Context) AccountIamPolicyMapOutput

func (AccountIamPolicyMapOutput) ToOutput added in v6.65.1

type AccountIamPolicyOutput

type AccountIamPolicyOutput struct{ *pulumi.OutputState }

func (AccountIamPolicyOutput) BillingAccountId added in v6.23.0

func (o AccountIamPolicyOutput) BillingAccountId() pulumi.StringOutput

The billing account id.

For `billing.AccountIamMember` or `billing.AccountIamBinding`:

  • `member/members` - (Required) Identities that will be granted the privilege in `role`. 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 (AccountIamPolicyOutput) ElementType

func (AccountIamPolicyOutput) ElementType() reflect.Type

func (AccountIamPolicyOutput) Etag added in v6.23.0

(Computed) The etag of the billing account's IAM policy.

func (AccountIamPolicyOutput) PolicyData added in v6.23.0

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

***

func (AccountIamPolicyOutput) ToAccountIamPolicyOutput

func (o AccountIamPolicyOutput) ToAccountIamPolicyOutput() AccountIamPolicyOutput

func (AccountIamPolicyOutput) ToAccountIamPolicyOutputWithContext

func (o AccountIamPolicyOutput) ToAccountIamPolicyOutputWithContext(ctx context.Context) AccountIamPolicyOutput

func (AccountIamPolicyOutput) ToOutput added in v6.65.1

type AccountIamPolicyState

type AccountIamPolicyState struct {
	// The billing account id.
	//
	// For `billing.AccountIamMember` or `billing.AccountIamBinding`:
	//
	// * `member/members` - (Required) Identities that will be granted the privilege in `role`.
	//   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.
	BillingAccountId pulumi.StringPtrInput
	// (Computed) The etag of the billing account's IAM policy.
	Etag pulumi.StringPtrInput
	// The policy data generated by a `organizations.getIAMPolicy` data source.
	//
	// ***
	PolicyData pulumi.StringPtrInput
}

func (AccountIamPolicyState) ElementType

func (AccountIamPolicyState) ElementType() reflect.Type

type Budget

type Budget struct {
	pulumi.CustomResourceState

	// Defines notifications that are sent on every update to the
	// billing account's spend, regardless of the thresholds defined
	// using threshold rules.
	// Structure is documented below.
	AllUpdatesRule BudgetAllUpdatesRulePtrOutput `pulumi:"allUpdatesRule"`
	// The budgeted amount for each usage period.
	// Structure is documented below.
	Amount BudgetAmountOutput `pulumi:"amount"`
	// ID of the billing account to set a budget on.
	BillingAccount pulumi.StringOutput `pulumi:"billingAccount"`
	// Filters that define which resources are used to compute the actual
	// spend against the budget.
	// Structure is documented below.
	BudgetFilter BudgetBudgetFilterOutput `pulumi:"budgetFilter"`
	// User data for display name in UI. Must be <= 60 chars.
	DisplayName pulumi.StringPtrOutput `pulumi:"displayName"`
	// Resource name of the budget. The resource name
	// implies the scope of a budget. Values are of the form
	// billingAccounts/{billingAccountId}/budgets/{budgetId}.
	Name pulumi.StringOutput `pulumi:"name"`
	// Rules that trigger alerts (notifications of thresholds being
	// crossed) when spend exceeds the specified percentages of the
	// budget.
	// Structure is documented below.
	ThresholdRules BudgetThresholdRuleArrayOutput `pulumi:"thresholdRules"`
}

Budget configuration for a billing account.

To get more information about Budget, see:

* [API documentation](https://cloud.google.com/billing/docs/reference/budget/rest/v1/billingAccounts.budgets) * How-to Guides

> **Warning:** If you are using User ADCs (Application Default Credentials) with this resource, you must specify a `billingProject` and set `userProjectOverride` to true in the provider configuration. Otherwise the Billing Budgets API will return a 403 error. Your account must have the `serviceusage.services.use` permission on the `billingProject` you defined.

## Example Usage ### Billing Budget Basic

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/billing"
"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/organizations"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		account, err := organizations.GetBillingAccount(ctx, &organizations.GetBillingAccountArgs{
			BillingAccount: pulumi.StringRef("000000-0000000-0000000-000000"),
		}, nil)
		if err != nil {
			return err
		}
		_, err = billing.NewBudget(ctx, "budget", &billing.BudgetArgs{
			BillingAccount: *pulumi.String(account.Id),
			DisplayName:    pulumi.String("Example Billing Budget"),
			Amount: &billing.BudgetAmountArgs{
				SpecifiedAmount: &billing.BudgetAmountSpecifiedAmountArgs{
					CurrencyCode: pulumi.String("USD"),
					Units:        pulumi.String("100000"),
				},
			},
			ThresholdRules: billing.BudgetThresholdRuleArray{
				&billing.BudgetThresholdRuleArgs{
					ThresholdPercent: pulumi.Float64(0.5),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Billing Budget Lastperiod

```go package main

import (

"fmt"

"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/billing"
"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/organizations"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		account, err := organizations.GetBillingAccount(ctx, &organizations.GetBillingAccountArgs{
			BillingAccount: pulumi.StringRef("000000-0000000-0000000-000000"),
		}, nil)
		if err != nil {
			return err
		}
		project, err := organizations.LookupProject(ctx, nil, nil)
		if err != nil {
			return err
		}
		_, err = billing.NewBudget(ctx, "budget", &billing.BudgetArgs{
			BillingAccount: *pulumi.String(account.Id),
			DisplayName:    pulumi.String("Example Billing Budget"),
			BudgetFilter: &billing.BudgetBudgetFilterArgs{
				Projects: pulumi.StringArray{
					pulumi.String(fmt.Sprintf("projects/%v", project.Number)),
				},
			},
			Amount: &billing.BudgetAmountArgs{
				LastPeriodAmount: pulumi.Bool(true),
			},
			ThresholdRules: billing.BudgetThresholdRuleArray{
				&billing.BudgetThresholdRuleArgs{
					ThresholdPercent: pulumi.Float64(10),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Billing Budget Filter

```go package main

import (

"fmt"

"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/billing"
"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/organizations"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		account, err := organizations.GetBillingAccount(ctx, &organizations.GetBillingAccountArgs{
			BillingAccount: pulumi.StringRef("000000-0000000-0000000-000000"),
		}, nil)
		if err != nil {
			return err
		}
		project, err := organizations.LookupProject(ctx, nil, nil)
		if err != nil {
			return err
		}
		_, err = billing.NewBudget(ctx, "budget", &billing.BudgetArgs{
			BillingAccount: *pulumi.String(account.Id),
			DisplayName:    pulumi.String("Example Billing Budget"),
			BudgetFilter: &billing.BudgetBudgetFilterArgs{
				Projects: pulumi.StringArray{
					pulumi.String(fmt.Sprintf("projects/%v", project.Number)),
				},
				CreditTypesTreatment: pulumi.String("INCLUDE_SPECIFIED_CREDITS"),
				Services: pulumi.StringArray{
					pulumi.String("services/24E6-581D-38E5"),
				},
				CreditTypes: pulumi.StringArray{
					pulumi.String("PROMOTION"),
					pulumi.String("FREE_TIER"),
				},
				ResourceAncestors: pulumi.StringArray{
					pulumi.String("organizations/123456789"),
				},
			},
			Amount: &billing.BudgetAmountArgs{
				SpecifiedAmount: &billing.BudgetAmountSpecifiedAmountArgs{
					CurrencyCode: pulumi.String("USD"),
					Units:        pulumi.String("100000"),
				},
			},
			ThresholdRules: billing.BudgetThresholdRuleArray{
				&billing.BudgetThresholdRuleArgs{
					ThresholdPercent: pulumi.Float64(0.5),
				},
				&billing.BudgetThresholdRuleArgs{
					ThresholdPercent: pulumi.Float64(0.9),
					SpendBasis:       pulumi.String("FORECASTED_SPEND"),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Billing Budget Notify

```go package main

import (

"fmt"

"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/billing"
"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/monitoring"
"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/organizations"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		account, err := organizations.GetBillingAccount(ctx, &organizations.GetBillingAccountArgs{
			BillingAccount: pulumi.StringRef("000000-0000000-0000000-000000"),
		}, nil)
		if err != nil {
			return err
		}
		project, err := organizations.LookupProject(ctx, nil, nil)
		if err != nil {
			return err
		}
		notificationChannel, err := monitoring.NewNotificationChannel(ctx, "notificationChannel", &monitoring.NotificationChannelArgs{
			DisplayName: pulumi.String("Example Notification Channel"),
			Type:        pulumi.String("email"),
			Labels: pulumi.StringMap{
				"email_address": pulumi.String("address@example.com"),
			},
		})
		if err != nil {
			return err
		}
		_, err = billing.NewBudget(ctx, "budget", &billing.BudgetArgs{
			BillingAccount: *pulumi.String(account.Id),
			DisplayName:    pulumi.String("Example Billing Budget"),
			BudgetFilter: &billing.BudgetBudgetFilterArgs{
				Projects: pulumi.StringArray{
					pulumi.String(fmt.Sprintf("projects/%v", project.Number)),
				},
			},
			Amount: &billing.BudgetAmountArgs{
				SpecifiedAmount: &billing.BudgetAmountSpecifiedAmountArgs{
					CurrencyCode: pulumi.String("USD"),
					Units:        pulumi.String("100000"),
				},
			},
			ThresholdRules: billing.BudgetThresholdRuleArray{
				&billing.BudgetThresholdRuleArgs{
					ThresholdPercent: pulumi.Float64(1),
				},
				&billing.BudgetThresholdRuleArgs{
					ThresholdPercent: pulumi.Float64(1),
					SpendBasis:       pulumi.String("FORECASTED_SPEND"),
				},
			},
			AllUpdatesRule: &billing.BudgetAllUpdatesRuleArgs{
				MonitoringNotificationChannels: pulumi.StringArray{
					notificationChannel.ID(),
				},
				DisableDefaultIamRecipients: pulumi.Bool(true),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Billing Budget Customperiod

```go package main

import (

"fmt"

"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/billing"
"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/organizations"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		account, err := organizations.GetBillingAccount(ctx, &organizations.GetBillingAccountArgs{
			BillingAccount: pulumi.StringRef("000000-0000000-0000000-000000"),
		}, nil)
		if err != nil {
			return err
		}
		project, err := organizations.LookupProject(ctx, nil, nil)
		if err != nil {
			return err
		}
		_, err = billing.NewBudget(ctx, "budget", &billing.BudgetArgs{
			BillingAccount: *pulumi.String(account.Id),
			DisplayName:    pulumi.String("Example Billing Budget"),
			BudgetFilter: &billing.BudgetBudgetFilterArgs{
				Projects: pulumi.StringArray{
					pulumi.String(fmt.Sprintf("projects/%v", project.Number)),
				},
				CreditTypesTreatment: pulumi.String("EXCLUDE_ALL_CREDITS"),
				Services: pulumi.StringArray{
					pulumi.String("services/24E6-581D-38E5"),
				},
				CustomPeriod: &billing.BudgetBudgetFilterCustomPeriodArgs{
					StartDate: &billing.BudgetBudgetFilterCustomPeriodStartDateArgs{
						Year:  pulumi.Int(2022),
						Month: pulumi.Int(1),
						Day:   pulumi.Int(1),
					},
					EndDate: &billing.BudgetBudgetFilterCustomPeriodEndDateArgs{
						Year:  pulumi.Int(2023),
						Month: pulumi.Int(12),
						Day:   pulumi.Int(31),
					},
				},
			},
			Amount: &billing.BudgetAmountArgs{
				SpecifiedAmount: &billing.BudgetAmountSpecifiedAmountArgs{
					CurrencyCode: pulumi.String("USD"),
					Units:        pulumi.String("100000"),
				},
			},
			ThresholdRules: billing.BudgetThresholdRuleArray{
				&billing.BudgetThresholdRuleArgs{
					ThresholdPercent: pulumi.Float64(0.5),
				},
				&billing.BudgetThresholdRuleArgs{
					ThresholdPercent: pulumi.Float64(0.9),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Budget can be imported using any of these accepted formats

```sh

$ pulumi import gcp:billing/budget:Budget default billingAccounts/{{billing_account}}/budgets/{{name}}

```

```sh

$ pulumi import gcp:billing/budget:Budget default {{billing_account}}/{{name}}

```

```sh

$ pulumi import gcp:billing/budget:Budget default {{name}}

```

func GetBudget

func GetBudget(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *BudgetState, opts ...pulumi.ResourceOption) (*Budget, error)

GetBudget gets an existing Budget 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 NewBudget

func NewBudget(ctx *pulumi.Context,
	name string, args *BudgetArgs, opts ...pulumi.ResourceOption) (*Budget, error)

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

func (*Budget) ElementType

func (*Budget) ElementType() reflect.Type

func (*Budget) ToBudgetOutput

func (i *Budget) ToBudgetOutput() BudgetOutput

func (*Budget) ToBudgetOutputWithContext

func (i *Budget) ToBudgetOutputWithContext(ctx context.Context) BudgetOutput

func (*Budget) ToOutput added in v6.65.1

func (i *Budget) ToOutput(ctx context.Context) pulumix.Output[*Budget]

type BudgetAllUpdatesRule

type BudgetAllUpdatesRule struct {
	// Boolean. When set to true, disables default notifications sent
	// when a threshold is exceeded. Default recipients are
	// those with Billing Account Administrators and Billing
	// Account Users IAM roles for the target account.
	DisableDefaultIamRecipients *bool `pulumi:"disableDefaultIamRecipients"`
	// The full resource name of a monitoring notification
	// channel in the form
	// projects/{project_id}/notificationChannels/{channel_id}.
	// A maximum of 5 channels are allowed.
	MonitoringNotificationChannels []string `pulumi:"monitoringNotificationChannels"`
	// The name of the Cloud Pub/Sub topic where budget related
	// messages will be published, in the form
	// projects/{project_id}/topics/{topic_id}. Updates are sent
	// at regular intervals to the topic.
	PubsubTopic *string `pulumi:"pubsubTopic"`
	// The schema version of the notification. Only "1.0" is
	// accepted. It represents the JSON schema as defined in
	// https://cloud.google.com/billing/docs/how-to/budgets#notification_format.
	SchemaVersion *string `pulumi:"schemaVersion"`
}

type BudgetAllUpdatesRuleArgs

type BudgetAllUpdatesRuleArgs struct {
	// Boolean. When set to true, disables default notifications sent
	// when a threshold is exceeded. Default recipients are
	// those with Billing Account Administrators and Billing
	// Account Users IAM roles for the target account.
	DisableDefaultIamRecipients pulumi.BoolPtrInput `pulumi:"disableDefaultIamRecipients"`
	// The full resource name of a monitoring notification
	// channel in the form
	// projects/{project_id}/notificationChannels/{channel_id}.
	// A maximum of 5 channels are allowed.
	MonitoringNotificationChannels pulumi.StringArrayInput `pulumi:"monitoringNotificationChannels"`
	// The name of the Cloud Pub/Sub topic where budget related
	// messages will be published, in the form
	// projects/{project_id}/topics/{topic_id}. Updates are sent
	// at regular intervals to the topic.
	PubsubTopic pulumi.StringPtrInput `pulumi:"pubsubTopic"`
	// The schema version of the notification. Only "1.0" is
	// accepted. It represents the JSON schema as defined in
	// https://cloud.google.com/billing/docs/how-to/budgets#notification_format.
	SchemaVersion pulumi.StringPtrInput `pulumi:"schemaVersion"`
}

func (BudgetAllUpdatesRuleArgs) ElementType

func (BudgetAllUpdatesRuleArgs) ElementType() reflect.Type

func (BudgetAllUpdatesRuleArgs) ToBudgetAllUpdatesRuleOutput

func (i BudgetAllUpdatesRuleArgs) ToBudgetAllUpdatesRuleOutput() BudgetAllUpdatesRuleOutput

func (BudgetAllUpdatesRuleArgs) ToBudgetAllUpdatesRuleOutputWithContext

func (i BudgetAllUpdatesRuleArgs) ToBudgetAllUpdatesRuleOutputWithContext(ctx context.Context) BudgetAllUpdatesRuleOutput

func (BudgetAllUpdatesRuleArgs) ToBudgetAllUpdatesRulePtrOutput

func (i BudgetAllUpdatesRuleArgs) ToBudgetAllUpdatesRulePtrOutput() BudgetAllUpdatesRulePtrOutput

func (BudgetAllUpdatesRuleArgs) ToBudgetAllUpdatesRulePtrOutputWithContext

func (i BudgetAllUpdatesRuleArgs) ToBudgetAllUpdatesRulePtrOutputWithContext(ctx context.Context) BudgetAllUpdatesRulePtrOutput

func (BudgetAllUpdatesRuleArgs) ToOutput added in v6.65.1

type BudgetAllUpdatesRuleInput

type BudgetAllUpdatesRuleInput interface {
	pulumi.Input

	ToBudgetAllUpdatesRuleOutput() BudgetAllUpdatesRuleOutput
	ToBudgetAllUpdatesRuleOutputWithContext(context.Context) BudgetAllUpdatesRuleOutput
}

BudgetAllUpdatesRuleInput is an input type that accepts BudgetAllUpdatesRuleArgs and BudgetAllUpdatesRuleOutput values. You can construct a concrete instance of `BudgetAllUpdatesRuleInput` via:

BudgetAllUpdatesRuleArgs{...}

type BudgetAllUpdatesRuleOutput

type BudgetAllUpdatesRuleOutput struct{ *pulumi.OutputState }

func (BudgetAllUpdatesRuleOutput) DisableDefaultIamRecipients

func (o BudgetAllUpdatesRuleOutput) DisableDefaultIamRecipients() pulumi.BoolPtrOutput

Boolean. When set to true, disables default notifications sent when a threshold is exceeded. Default recipients are those with Billing Account Administrators and Billing Account Users IAM roles for the target account.

func (BudgetAllUpdatesRuleOutput) ElementType

func (BudgetAllUpdatesRuleOutput) ElementType() reflect.Type

func (BudgetAllUpdatesRuleOutput) MonitoringNotificationChannels

func (o BudgetAllUpdatesRuleOutput) MonitoringNotificationChannels() pulumi.StringArrayOutput

The full resource name of a monitoring notification channel in the form projects/{project_id}/notificationChannels/{channel_id}. A maximum of 5 channels are allowed.

func (BudgetAllUpdatesRuleOutput) PubsubTopic

The name of the Cloud Pub/Sub topic where budget related messages will be published, in the form projects/{project_id}/topics/{topic_id}. Updates are sent at regular intervals to the topic.

func (BudgetAllUpdatesRuleOutput) SchemaVersion

The schema version of the notification. Only "1.0" is accepted. It represents the JSON schema as defined in https://cloud.google.com/billing/docs/how-to/budgets#notification_format.

func (BudgetAllUpdatesRuleOutput) ToBudgetAllUpdatesRuleOutput

func (o BudgetAllUpdatesRuleOutput) ToBudgetAllUpdatesRuleOutput() BudgetAllUpdatesRuleOutput

func (BudgetAllUpdatesRuleOutput) ToBudgetAllUpdatesRuleOutputWithContext

func (o BudgetAllUpdatesRuleOutput) ToBudgetAllUpdatesRuleOutputWithContext(ctx context.Context) BudgetAllUpdatesRuleOutput

func (BudgetAllUpdatesRuleOutput) ToBudgetAllUpdatesRulePtrOutput

func (o BudgetAllUpdatesRuleOutput) ToBudgetAllUpdatesRulePtrOutput() BudgetAllUpdatesRulePtrOutput

func (BudgetAllUpdatesRuleOutput) ToBudgetAllUpdatesRulePtrOutputWithContext

func (o BudgetAllUpdatesRuleOutput) ToBudgetAllUpdatesRulePtrOutputWithContext(ctx context.Context) BudgetAllUpdatesRulePtrOutput

func (BudgetAllUpdatesRuleOutput) ToOutput added in v6.65.1

type BudgetAllUpdatesRulePtrInput

type BudgetAllUpdatesRulePtrInput interface {
	pulumi.Input

	ToBudgetAllUpdatesRulePtrOutput() BudgetAllUpdatesRulePtrOutput
	ToBudgetAllUpdatesRulePtrOutputWithContext(context.Context) BudgetAllUpdatesRulePtrOutput
}

BudgetAllUpdatesRulePtrInput is an input type that accepts BudgetAllUpdatesRuleArgs, BudgetAllUpdatesRulePtr and BudgetAllUpdatesRulePtrOutput values. You can construct a concrete instance of `BudgetAllUpdatesRulePtrInput` via:

        BudgetAllUpdatesRuleArgs{...}

or:

        nil

type BudgetAllUpdatesRulePtrOutput

type BudgetAllUpdatesRulePtrOutput struct{ *pulumi.OutputState }

func (BudgetAllUpdatesRulePtrOutput) DisableDefaultIamRecipients

func (o BudgetAllUpdatesRulePtrOutput) DisableDefaultIamRecipients() pulumi.BoolPtrOutput

Boolean. When set to true, disables default notifications sent when a threshold is exceeded. Default recipients are those with Billing Account Administrators and Billing Account Users IAM roles for the target account.

func (BudgetAllUpdatesRulePtrOutput) Elem

func (BudgetAllUpdatesRulePtrOutput) ElementType

func (BudgetAllUpdatesRulePtrOutput) MonitoringNotificationChannels

func (o BudgetAllUpdatesRulePtrOutput) MonitoringNotificationChannels() pulumi.StringArrayOutput

The full resource name of a monitoring notification channel in the form projects/{project_id}/notificationChannels/{channel_id}. A maximum of 5 channels are allowed.

func (BudgetAllUpdatesRulePtrOutput) PubsubTopic

The name of the Cloud Pub/Sub topic where budget related messages will be published, in the form projects/{project_id}/topics/{topic_id}. Updates are sent at regular intervals to the topic.

func (BudgetAllUpdatesRulePtrOutput) SchemaVersion

The schema version of the notification. Only "1.0" is accepted. It represents the JSON schema as defined in https://cloud.google.com/billing/docs/how-to/budgets#notification_format.

func (BudgetAllUpdatesRulePtrOutput) ToBudgetAllUpdatesRulePtrOutput

func (o BudgetAllUpdatesRulePtrOutput) ToBudgetAllUpdatesRulePtrOutput() BudgetAllUpdatesRulePtrOutput

func (BudgetAllUpdatesRulePtrOutput) ToBudgetAllUpdatesRulePtrOutputWithContext

func (o BudgetAllUpdatesRulePtrOutput) ToBudgetAllUpdatesRulePtrOutputWithContext(ctx context.Context) BudgetAllUpdatesRulePtrOutput

func (BudgetAllUpdatesRulePtrOutput) ToOutput added in v6.65.1

type BudgetAmount

type BudgetAmount struct {
	// Configures a budget amount that is automatically set to 100% of
	// last period's spend.
	// Boolean. Set value to true to use. Do not set to false, instead
	// use the `specifiedAmount` block.
	LastPeriodAmount *bool `pulumi:"lastPeriodAmount"`
	// A specified amount to use as the budget. currencyCode is
	// optional. If specified, it must match the currency of the
	// billing account. The currencyCode is provided on output.
	// Structure is documented below.
	SpecifiedAmount *BudgetAmountSpecifiedAmount `pulumi:"specifiedAmount"`
}

type BudgetAmountArgs

type BudgetAmountArgs struct {
	// Configures a budget amount that is automatically set to 100% of
	// last period's spend.
	// Boolean. Set value to true to use. Do not set to false, instead
	// use the `specifiedAmount` block.
	LastPeriodAmount pulumi.BoolPtrInput `pulumi:"lastPeriodAmount"`
	// A specified amount to use as the budget. currencyCode is
	// optional. If specified, it must match the currency of the
	// billing account. The currencyCode is provided on output.
	// Structure is documented below.
	SpecifiedAmount BudgetAmountSpecifiedAmountPtrInput `pulumi:"specifiedAmount"`
}

func (BudgetAmountArgs) ElementType

func (BudgetAmountArgs) ElementType() reflect.Type

func (BudgetAmountArgs) ToBudgetAmountOutput

func (i BudgetAmountArgs) ToBudgetAmountOutput() BudgetAmountOutput

func (BudgetAmountArgs) ToBudgetAmountOutputWithContext

func (i BudgetAmountArgs) ToBudgetAmountOutputWithContext(ctx context.Context) BudgetAmountOutput

func (BudgetAmountArgs) ToBudgetAmountPtrOutput

func (i BudgetAmountArgs) ToBudgetAmountPtrOutput() BudgetAmountPtrOutput

func (BudgetAmountArgs) ToBudgetAmountPtrOutputWithContext

func (i BudgetAmountArgs) ToBudgetAmountPtrOutputWithContext(ctx context.Context) BudgetAmountPtrOutput

func (BudgetAmountArgs) ToOutput added in v6.65.1

type BudgetAmountInput

type BudgetAmountInput interface {
	pulumi.Input

	ToBudgetAmountOutput() BudgetAmountOutput
	ToBudgetAmountOutputWithContext(context.Context) BudgetAmountOutput
}

BudgetAmountInput is an input type that accepts BudgetAmountArgs and BudgetAmountOutput values. You can construct a concrete instance of `BudgetAmountInput` via:

BudgetAmountArgs{...}

type BudgetAmountOutput

type BudgetAmountOutput struct{ *pulumi.OutputState }

func (BudgetAmountOutput) ElementType

func (BudgetAmountOutput) ElementType() reflect.Type

func (BudgetAmountOutput) LastPeriodAmount

func (o BudgetAmountOutput) LastPeriodAmount() pulumi.BoolPtrOutput

Configures a budget amount that is automatically set to 100% of last period's spend. Boolean. Set value to true to use. Do not set to false, instead use the `specifiedAmount` block.

func (BudgetAmountOutput) SpecifiedAmount

A specified amount to use as the budget. currencyCode is optional. If specified, it must match the currency of the billing account. The currencyCode is provided on output. Structure is documented below.

func (BudgetAmountOutput) ToBudgetAmountOutput

func (o BudgetAmountOutput) ToBudgetAmountOutput() BudgetAmountOutput

func (BudgetAmountOutput) ToBudgetAmountOutputWithContext

func (o BudgetAmountOutput) ToBudgetAmountOutputWithContext(ctx context.Context) BudgetAmountOutput

func (BudgetAmountOutput) ToBudgetAmountPtrOutput

func (o BudgetAmountOutput) ToBudgetAmountPtrOutput() BudgetAmountPtrOutput

func (BudgetAmountOutput) ToBudgetAmountPtrOutputWithContext

func (o BudgetAmountOutput) ToBudgetAmountPtrOutputWithContext(ctx context.Context) BudgetAmountPtrOutput

func (BudgetAmountOutput) ToOutput added in v6.65.1

type BudgetAmountPtrInput

type BudgetAmountPtrInput interface {
	pulumi.Input

	ToBudgetAmountPtrOutput() BudgetAmountPtrOutput
	ToBudgetAmountPtrOutputWithContext(context.Context) BudgetAmountPtrOutput
}

BudgetAmountPtrInput is an input type that accepts BudgetAmountArgs, BudgetAmountPtr and BudgetAmountPtrOutput values. You can construct a concrete instance of `BudgetAmountPtrInput` via:

        BudgetAmountArgs{...}

or:

        nil

type BudgetAmountPtrOutput

type BudgetAmountPtrOutput struct{ *pulumi.OutputState }

func (BudgetAmountPtrOutput) Elem

func (BudgetAmountPtrOutput) ElementType

func (BudgetAmountPtrOutput) ElementType() reflect.Type

func (BudgetAmountPtrOutput) LastPeriodAmount

func (o BudgetAmountPtrOutput) LastPeriodAmount() pulumi.BoolPtrOutput

Configures a budget amount that is automatically set to 100% of last period's spend. Boolean. Set value to true to use. Do not set to false, instead use the `specifiedAmount` block.

func (BudgetAmountPtrOutput) SpecifiedAmount

A specified amount to use as the budget. currencyCode is optional. If specified, it must match the currency of the billing account. The currencyCode is provided on output. Structure is documented below.

func (BudgetAmountPtrOutput) ToBudgetAmountPtrOutput

func (o BudgetAmountPtrOutput) ToBudgetAmountPtrOutput() BudgetAmountPtrOutput

func (BudgetAmountPtrOutput) ToBudgetAmountPtrOutputWithContext

func (o BudgetAmountPtrOutput) ToBudgetAmountPtrOutputWithContext(ctx context.Context) BudgetAmountPtrOutput

func (BudgetAmountPtrOutput) ToOutput added in v6.65.1

type BudgetAmountSpecifiedAmount

type BudgetAmountSpecifiedAmount struct {
	// The 3-letter currency code defined in ISO 4217.
	CurrencyCode *string `pulumi:"currencyCode"`
	// Number of nano (10^-9) units of the amount.
	// The value must be between -999,999,999 and +999,999,999
	// inclusive. If units is positive, nanos must be positive or
	// zero. If units is zero, nanos can be positive, zero, or
	// negative. If units is negative, nanos must be negative or
	// zero. For example $-1.75 is represented as units=-1 and
	// nanos=-750,000,000.
	//
	// ***
	Nanos *int `pulumi:"nanos"`
	// The whole units of the amount. For example if currencyCode
	// is "USD", then 1 unit is one US dollar.
	Units *string `pulumi:"units"`
}

type BudgetAmountSpecifiedAmountArgs

type BudgetAmountSpecifiedAmountArgs struct {
	// The 3-letter currency code defined in ISO 4217.
	CurrencyCode pulumi.StringPtrInput `pulumi:"currencyCode"`
	// Number of nano (10^-9) units of the amount.
	// The value must be between -999,999,999 and +999,999,999
	// inclusive. If units is positive, nanos must be positive or
	// zero. If units is zero, nanos can be positive, zero, or
	// negative. If units is negative, nanos must be negative or
	// zero. For example $-1.75 is represented as units=-1 and
	// nanos=-750,000,000.
	//
	// ***
	Nanos pulumi.IntPtrInput `pulumi:"nanos"`
	// The whole units of the amount. For example if currencyCode
	// is "USD", then 1 unit is one US dollar.
	Units pulumi.StringPtrInput `pulumi:"units"`
}

func (BudgetAmountSpecifiedAmountArgs) ElementType

func (BudgetAmountSpecifiedAmountArgs) ToBudgetAmountSpecifiedAmountOutput

func (i BudgetAmountSpecifiedAmountArgs) ToBudgetAmountSpecifiedAmountOutput() BudgetAmountSpecifiedAmountOutput

func (BudgetAmountSpecifiedAmountArgs) ToBudgetAmountSpecifiedAmountOutputWithContext

func (i BudgetAmountSpecifiedAmountArgs) ToBudgetAmountSpecifiedAmountOutputWithContext(ctx context.Context) BudgetAmountSpecifiedAmountOutput

func (BudgetAmountSpecifiedAmountArgs) ToBudgetAmountSpecifiedAmountPtrOutput

func (i BudgetAmountSpecifiedAmountArgs) ToBudgetAmountSpecifiedAmountPtrOutput() BudgetAmountSpecifiedAmountPtrOutput

func (BudgetAmountSpecifiedAmountArgs) ToBudgetAmountSpecifiedAmountPtrOutputWithContext

func (i BudgetAmountSpecifiedAmountArgs) ToBudgetAmountSpecifiedAmountPtrOutputWithContext(ctx context.Context) BudgetAmountSpecifiedAmountPtrOutput

func (BudgetAmountSpecifiedAmountArgs) ToOutput added in v6.65.1

type BudgetAmountSpecifiedAmountInput

type BudgetAmountSpecifiedAmountInput interface {
	pulumi.Input

	ToBudgetAmountSpecifiedAmountOutput() BudgetAmountSpecifiedAmountOutput
	ToBudgetAmountSpecifiedAmountOutputWithContext(context.Context) BudgetAmountSpecifiedAmountOutput
}

BudgetAmountSpecifiedAmountInput is an input type that accepts BudgetAmountSpecifiedAmountArgs and BudgetAmountSpecifiedAmountOutput values. You can construct a concrete instance of `BudgetAmountSpecifiedAmountInput` via:

BudgetAmountSpecifiedAmountArgs{...}

type BudgetAmountSpecifiedAmountOutput

type BudgetAmountSpecifiedAmountOutput struct{ *pulumi.OutputState }

func (BudgetAmountSpecifiedAmountOutput) CurrencyCode

The 3-letter currency code defined in ISO 4217.

func (BudgetAmountSpecifiedAmountOutput) ElementType

func (BudgetAmountSpecifiedAmountOutput) Nanos

Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If units is positive, nanos must be positive or zero. If units is zero, nanos can be positive, zero, or negative. If units is negative, nanos must be negative or zero. For example $-1.75 is represented as units=-1 and nanos=-750,000,000.

***

func (BudgetAmountSpecifiedAmountOutput) ToBudgetAmountSpecifiedAmountOutput

func (o BudgetAmountSpecifiedAmountOutput) ToBudgetAmountSpecifiedAmountOutput() BudgetAmountSpecifiedAmountOutput

func (BudgetAmountSpecifiedAmountOutput) ToBudgetAmountSpecifiedAmountOutputWithContext

func (o BudgetAmountSpecifiedAmountOutput) ToBudgetAmountSpecifiedAmountOutputWithContext(ctx context.Context) BudgetAmountSpecifiedAmountOutput

func (BudgetAmountSpecifiedAmountOutput) ToBudgetAmountSpecifiedAmountPtrOutput

func (o BudgetAmountSpecifiedAmountOutput) ToBudgetAmountSpecifiedAmountPtrOutput() BudgetAmountSpecifiedAmountPtrOutput

func (BudgetAmountSpecifiedAmountOutput) ToBudgetAmountSpecifiedAmountPtrOutputWithContext

func (o BudgetAmountSpecifiedAmountOutput) ToBudgetAmountSpecifiedAmountPtrOutputWithContext(ctx context.Context) BudgetAmountSpecifiedAmountPtrOutput

func (BudgetAmountSpecifiedAmountOutput) ToOutput added in v6.65.1

func (BudgetAmountSpecifiedAmountOutput) Units

The whole units of the amount. For example if currencyCode is "USD", then 1 unit is one US dollar.

type BudgetAmountSpecifiedAmountPtrInput

type BudgetAmountSpecifiedAmountPtrInput interface {
	pulumi.Input

	ToBudgetAmountSpecifiedAmountPtrOutput() BudgetAmountSpecifiedAmountPtrOutput
	ToBudgetAmountSpecifiedAmountPtrOutputWithContext(context.Context) BudgetAmountSpecifiedAmountPtrOutput
}

BudgetAmountSpecifiedAmountPtrInput is an input type that accepts BudgetAmountSpecifiedAmountArgs, BudgetAmountSpecifiedAmountPtr and BudgetAmountSpecifiedAmountPtrOutput values. You can construct a concrete instance of `BudgetAmountSpecifiedAmountPtrInput` via:

        BudgetAmountSpecifiedAmountArgs{...}

or:

        nil

type BudgetAmountSpecifiedAmountPtrOutput

type BudgetAmountSpecifiedAmountPtrOutput struct{ *pulumi.OutputState }

func (BudgetAmountSpecifiedAmountPtrOutput) CurrencyCode

The 3-letter currency code defined in ISO 4217.

func (BudgetAmountSpecifiedAmountPtrOutput) Elem

func (BudgetAmountSpecifiedAmountPtrOutput) ElementType

func (BudgetAmountSpecifiedAmountPtrOutput) Nanos

Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If units is positive, nanos must be positive or zero. If units is zero, nanos can be positive, zero, or negative. If units is negative, nanos must be negative or zero. For example $-1.75 is represented as units=-1 and nanos=-750,000,000.

***

func (BudgetAmountSpecifiedAmountPtrOutput) ToBudgetAmountSpecifiedAmountPtrOutput

func (o BudgetAmountSpecifiedAmountPtrOutput) ToBudgetAmountSpecifiedAmountPtrOutput() BudgetAmountSpecifiedAmountPtrOutput

func (BudgetAmountSpecifiedAmountPtrOutput) ToBudgetAmountSpecifiedAmountPtrOutputWithContext

func (o BudgetAmountSpecifiedAmountPtrOutput) ToBudgetAmountSpecifiedAmountPtrOutputWithContext(ctx context.Context) BudgetAmountSpecifiedAmountPtrOutput

func (BudgetAmountSpecifiedAmountPtrOutput) ToOutput added in v6.65.1

func (BudgetAmountSpecifiedAmountPtrOutput) Units

The whole units of the amount. For example if currencyCode is "USD", then 1 unit is one US dollar.

type BudgetArgs

type BudgetArgs struct {
	// Defines notifications that are sent on every update to the
	// billing account's spend, regardless of the thresholds defined
	// using threshold rules.
	// Structure is documented below.
	AllUpdatesRule BudgetAllUpdatesRulePtrInput
	// The budgeted amount for each usage period.
	// Structure is documented below.
	Amount BudgetAmountInput
	// ID of the billing account to set a budget on.
	BillingAccount pulumi.StringInput
	// Filters that define which resources are used to compute the actual
	// spend against the budget.
	// Structure is documented below.
	BudgetFilter BudgetBudgetFilterPtrInput
	// User data for display name in UI. Must be <= 60 chars.
	DisplayName pulumi.StringPtrInput
	// Rules that trigger alerts (notifications of thresholds being
	// crossed) when spend exceeds the specified percentages of the
	// budget.
	// Structure is documented below.
	ThresholdRules BudgetThresholdRuleArrayInput
}

The set of arguments for constructing a Budget resource.

func (BudgetArgs) ElementType

func (BudgetArgs) ElementType() reflect.Type

type BudgetArray

type BudgetArray []BudgetInput

func (BudgetArray) ElementType

func (BudgetArray) ElementType() reflect.Type

func (BudgetArray) ToBudgetArrayOutput

func (i BudgetArray) ToBudgetArrayOutput() BudgetArrayOutput

func (BudgetArray) ToBudgetArrayOutputWithContext

func (i BudgetArray) ToBudgetArrayOutputWithContext(ctx context.Context) BudgetArrayOutput

func (BudgetArray) ToOutput added in v6.65.1

func (i BudgetArray) ToOutput(ctx context.Context) pulumix.Output[[]*Budget]

type BudgetArrayInput

type BudgetArrayInput interface {
	pulumi.Input

	ToBudgetArrayOutput() BudgetArrayOutput
	ToBudgetArrayOutputWithContext(context.Context) BudgetArrayOutput
}

BudgetArrayInput is an input type that accepts BudgetArray and BudgetArrayOutput values. You can construct a concrete instance of `BudgetArrayInput` via:

BudgetArray{ BudgetArgs{...} }

type BudgetArrayOutput

type BudgetArrayOutput struct{ *pulumi.OutputState }

func (BudgetArrayOutput) ElementType

func (BudgetArrayOutput) ElementType() reflect.Type

func (BudgetArrayOutput) Index

func (BudgetArrayOutput) ToBudgetArrayOutput

func (o BudgetArrayOutput) ToBudgetArrayOutput() BudgetArrayOutput

func (BudgetArrayOutput) ToBudgetArrayOutputWithContext

func (o BudgetArrayOutput) ToBudgetArrayOutputWithContext(ctx context.Context) BudgetArrayOutput

func (BudgetArrayOutput) ToOutput added in v6.65.1

func (o BudgetArrayOutput) ToOutput(ctx context.Context) pulumix.Output[[]*Budget]

type BudgetBudgetFilter

type BudgetBudgetFilter struct {
	// A CalendarPeriod represents the abstract concept of a recurring time period that has a
	// canonical start. Grammatically, "the start of the current CalendarPeriod".
	// All calendar times begin at 12 AM US and Canadian Pacific Time (UTC-8).
	// Exactly one of `calendarPeriod`, `customPeriod` must be provided.
	// Possible values are: `MONTH`, `QUARTER`, `YEAR`, `CALENDAR_PERIOD_UNSPECIFIED`.
	CalendarPeriod *string `pulumi:"calendarPeriod"`
	// Optional. If creditTypesTreatment is INCLUDE_SPECIFIED_CREDITS,
	// this is a list of credit types to be subtracted from gross cost to determine the spend for threshold calculations. See a list of acceptable credit type values.
	// If creditTypesTreatment is not INCLUDE_SPECIFIED_CREDITS, this field must be empty.
	// **Note:** If the field has a value in the config and needs to be removed, the field has to be an emtpy array in the config.
	CreditTypes []string `pulumi:"creditTypes"`
	// Specifies how credits should be treated when determining spend
	// for threshold calculations.
	// Default value is `INCLUDE_ALL_CREDITS`.
	// Possible values are: `INCLUDE_ALL_CREDITS`, `EXCLUDE_ALL_CREDITS`, `INCLUDE_SPECIFIED_CREDITS`.
	CreditTypesTreatment *string `pulumi:"creditTypesTreatment"`
	// Specifies to track usage from any start date (required) to any end date (optional).
	// This time period is static, it does not recur.
	// Exactly one of `calendarPeriod`, `customPeriod` must be provided.
	// Structure is documented below.
	CustomPeriod *BudgetBudgetFilterCustomPeriod `pulumi:"customPeriod"`
	// A single label and value pair specifying that usage from only
	// this set of labeled resources should be included in the budget.
	Labels map[string]string `pulumi:"labels"`
	// A set of projects of the form projects/{project_number},
	// specifying that usage from only this set of projects should be
	// included in the budget. If omitted, the report will include
	// all usage for the billing account, regardless of which project
	// the usage occurred on.
	Projects []string `pulumi:"projects"`
	// A set of folder and organization names of the form folders/{folderId} or organizations/{organizationId},
	// specifying that usage from only this set of folders and organizations should be included in the budget.
	// If omitted, the budget includes all usage that the billing account pays for. If the folder or organization
	// contains projects that are paid for by a different Cloud Billing account, the budget doesn't apply to those projects.
	ResourceAncestors []string `pulumi:"resourceAncestors"`
	// A set of services of the form services/{service_id},
	// specifying that usage from only this set of services should be
	// included in the budget. If omitted, the report will include
	// usage for all the services. The service names are available
	// through the Catalog API:
	// https://cloud.google.com/billing/v1/how-tos/catalog-api.
	Services []string `pulumi:"services"`
	// A set of subaccounts of the form billingAccounts/{account_id},
	// specifying that usage from only this set of subaccounts should
	// be included in the budget. If a subaccount is set to the name of
	// the parent account, usage from the parent account will be included.
	// If the field is omitted, the report will include usage from the parent
	// account and all subaccounts, if they exist.
	// **Note:** If the field has a value in the config and needs to be removed, the field has to be an emtpy array in the config.
	Subaccounts []string `pulumi:"subaccounts"`
}

type BudgetBudgetFilterArgs

type BudgetBudgetFilterArgs struct {
	// A CalendarPeriod represents the abstract concept of a recurring time period that has a
	// canonical start. Grammatically, "the start of the current CalendarPeriod".
	// All calendar times begin at 12 AM US and Canadian Pacific Time (UTC-8).
	// Exactly one of `calendarPeriod`, `customPeriod` must be provided.
	// Possible values are: `MONTH`, `QUARTER`, `YEAR`, `CALENDAR_PERIOD_UNSPECIFIED`.
	CalendarPeriod pulumi.StringPtrInput `pulumi:"calendarPeriod"`
	// Optional. If creditTypesTreatment is INCLUDE_SPECIFIED_CREDITS,
	// this is a list of credit types to be subtracted from gross cost to determine the spend for threshold calculations. See a list of acceptable credit type values.
	// If creditTypesTreatment is not INCLUDE_SPECIFIED_CREDITS, this field must be empty.
	// **Note:** If the field has a value in the config and needs to be removed, the field has to be an emtpy array in the config.
	CreditTypes pulumi.StringArrayInput `pulumi:"creditTypes"`
	// Specifies how credits should be treated when determining spend
	// for threshold calculations.
	// Default value is `INCLUDE_ALL_CREDITS`.
	// Possible values are: `INCLUDE_ALL_CREDITS`, `EXCLUDE_ALL_CREDITS`, `INCLUDE_SPECIFIED_CREDITS`.
	CreditTypesTreatment pulumi.StringPtrInput `pulumi:"creditTypesTreatment"`
	// Specifies to track usage from any start date (required) to any end date (optional).
	// This time period is static, it does not recur.
	// Exactly one of `calendarPeriod`, `customPeriod` must be provided.
	// Structure is documented below.
	CustomPeriod BudgetBudgetFilterCustomPeriodPtrInput `pulumi:"customPeriod"`
	// A single label and value pair specifying that usage from only
	// this set of labeled resources should be included in the budget.
	Labels pulumi.StringMapInput `pulumi:"labels"`
	// A set of projects of the form projects/{project_number},
	// specifying that usage from only this set of projects should be
	// included in the budget. If omitted, the report will include
	// all usage for the billing account, regardless of which project
	// the usage occurred on.
	Projects pulumi.StringArrayInput `pulumi:"projects"`
	// A set of folder and organization names of the form folders/{folderId} or organizations/{organizationId},
	// specifying that usage from only this set of folders and organizations should be included in the budget.
	// If omitted, the budget includes all usage that the billing account pays for. If the folder or organization
	// contains projects that are paid for by a different Cloud Billing account, the budget doesn't apply to those projects.
	ResourceAncestors pulumi.StringArrayInput `pulumi:"resourceAncestors"`
	// A set of services of the form services/{service_id},
	// specifying that usage from only this set of services should be
	// included in the budget. If omitted, the report will include
	// usage for all the services. The service names are available
	// through the Catalog API:
	// https://cloud.google.com/billing/v1/how-tos/catalog-api.
	Services pulumi.StringArrayInput `pulumi:"services"`
	// A set of subaccounts of the form billingAccounts/{account_id},
	// specifying that usage from only this set of subaccounts should
	// be included in the budget. If a subaccount is set to the name of
	// the parent account, usage from the parent account will be included.
	// If the field is omitted, the report will include usage from the parent
	// account and all subaccounts, if they exist.
	// **Note:** If the field has a value in the config and needs to be removed, the field has to be an emtpy array in the config.
	Subaccounts pulumi.StringArrayInput `pulumi:"subaccounts"`
}

func (BudgetBudgetFilterArgs) ElementType

func (BudgetBudgetFilterArgs) ElementType() reflect.Type

func (BudgetBudgetFilterArgs) ToBudgetBudgetFilterOutput

func (i BudgetBudgetFilterArgs) ToBudgetBudgetFilterOutput() BudgetBudgetFilterOutput

func (BudgetBudgetFilterArgs) ToBudgetBudgetFilterOutputWithContext

func (i BudgetBudgetFilterArgs) ToBudgetBudgetFilterOutputWithContext(ctx context.Context) BudgetBudgetFilterOutput

func (BudgetBudgetFilterArgs) ToBudgetBudgetFilterPtrOutput

func (i BudgetBudgetFilterArgs) ToBudgetBudgetFilterPtrOutput() BudgetBudgetFilterPtrOutput

func (BudgetBudgetFilterArgs) ToBudgetBudgetFilterPtrOutputWithContext

func (i BudgetBudgetFilterArgs) ToBudgetBudgetFilterPtrOutputWithContext(ctx context.Context) BudgetBudgetFilterPtrOutput

func (BudgetBudgetFilterArgs) ToOutput added in v6.65.1

type BudgetBudgetFilterCustomPeriod added in v6.31.0

type BudgetBudgetFilterCustomPeriod struct {
	// Optional. The end date of the time period. Budgets with elapsed end date won't be processed.
	// If unset, specifies to track all usage incurred since the startDate.
	// Structure is documented below.
	EndDate *BudgetBudgetFilterCustomPeriodEndDate `pulumi:"endDate"`
	// A start date is required. The start date must be after January 1, 2017.
	// Structure is documented below.
	StartDate BudgetBudgetFilterCustomPeriodStartDate `pulumi:"startDate"`
}

type BudgetBudgetFilterCustomPeriodArgs added in v6.31.0

type BudgetBudgetFilterCustomPeriodArgs struct {
	// Optional. The end date of the time period. Budgets with elapsed end date won't be processed.
	// If unset, specifies to track all usage incurred since the startDate.
	// Structure is documented below.
	EndDate BudgetBudgetFilterCustomPeriodEndDatePtrInput `pulumi:"endDate"`
	// A start date is required. The start date must be after January 1, 2017.
	// Structure is documented below.
	StartDate BudgetBudgetFilterCustomPeriodStartDateInput `pulumi:"startDate"`
}

func (BudgetBudgetFilterCustomPeriodArgs) ElementType added in v6.31.0

func (BudgetBudgetFilterCustomPeriodArgs) ToBudgetBudgetFilterCustomPeriodOutput added in v6.31.0

func (i BudgetBudgetFilterCustomPeriodArgs) ToBudgetBudgetFilterCustomPeriodOutput() BudgetBudgetFilterCustomPeriodOutput

func (BudgetBudgetFilterCustomPeriodArgs) ToBudgetBudgetFilterCustomPeriodOutputWithContext added in v6.31.0

func (i BudgetBudgetFilterCustomPeriodArgs) ToBudgetBudgetFilterCustomPeriodOutputWithContext(ctx context.Context) BudgetBudgetFilterCustomPeriodOutput

func (BudgetBudgetFilterCustomPeriodArgs) ToBudgetBudgetFilterCustomPeriodPtrOutput added in v6.31.0

func (i BudgetBudgetFilterCustomPeriodArgs) ToBudgetBudgetFilterCustomPeriodPtrOutput() BudgetBudgetFilterCustomPeriodPtrOutput

func (BudgetBudgetFilterCustomPeriodArgs) ToBudgetBudgetFilterCustomPeriodPtrOutputWithContext added in v6.31.0

func (i BudgetBudgetFilterCustomPeriodArgs) ToBudgetBudgetFilterCustomPeriodPtrOutputWithContext(ctx context.Context) BudgetBudgetFilterCustomPeriodPtrOutput

func (BudgetBudgetFilterCustomPeriodArgs) ToOutput added in v6.65.1

type BudgetBudgetFilterCustomPeriodEndDate added in v6.31.0

type BudgetBudgetFilterCustomPeriodEndDate struct {
	// Day of a month. Must be from 1 to 31 and valid for the year and month.
	Day int `pulumi:"day"`
	// Month of a year. Must be from 1 to 12.
	Month int `pulumi:"month"`
	// Year of the date. Must be from 1 to 9999.
	Year int `pulumi:"year"`
}

type BudgetBudgetFilterCustomPeriodEndDateArgs added in v6.31.0

type BudgetBudgetFilterCustomPeriodEndDateArgs struct {
	// Day of a month. Must be from 1 to 31 and valid for the year and month.
	Day pulumi.IntInput `pulumi:"day"`
	// Month of a year. Must be from 1 to 12.
	Month pulumi.IntInput `pulumi:"month"`
	// Year of the date. Must be from 1 to 9999.
	Year pulumi.IntInput `pulumi:"year"`
}

func (BudgetBudgetFilterCustomPeriodEndDateArgs) ElementType added in v6.31.0

func (BudgetBudgetFilterCustomPeriodEndDateArgs) ToBudgetBudgetFilterCustomPeriodEndDateOutput added in v6.31.0

func (i BudgetBudgetFilterCustomPeriodEndDateArgs) ToBudgetBudgetFilterCustomPeriodEndDateOutput() BudgetBudgetFilterCustomPeriodEndDateOutput

func (BudgetBudgetFilterCustomPeriodEndDateArgs) ToBudgetBudgetFilterCustomPeriodEndDateOutputWithContext added in v6.31.0

func (i BudgetBudgetFilterCustomPeriodEndDateArgs) ToBudgetBudgetFilterCustomPeriodEndDateOutputWithContext(ctx context.Context) BudgetBudgetFilterCustomPeriodEndDateOutput

func (BudgetBudgetFilterCustomPeriodEndDateArgs) ToBudgetBudgetFilterCustomPeriodEndDatePtrOutput added in v6.31.0

func (i BudgetBudgetFilterCustomPeriodEndDateArgs) ToBudgetBudgetFilterCustomPeriodEndDatePtrOutput() BudgetBudgetFilterCustomPeriodEndDatePtrOutput

func (BudgetBudgetFilterCustomPeriodEndDateArgs) ToBudgetBudgetFilterCustomPeriodEndDatePtrOutputWithContext added in v6.31.0

func (i BudgetBudgetFilterCustomPeriodEndDateArgs) ToBudgetBudgetFilterCustomPeriodEndDatePtrOutputWithContext(ctx context.Context) BudgetBudgetFilterCustomPeriodEndDatePtrOutput

func (BudgetBudgetFilterCustomPeriodEndDateArgs) ToOutput added in v6.65.1

type BudgetBudgetFilterCustomPeriodEndDateInput added in v6.31.0

type BudgetBudgetFilterCustomPeriodEndDateInput interface {
	pulumi.Input

	ToBudgetBudgetFilterCustomPeriodEndDateOutput() BudgetBudgetFilterCustomPeriodEndDateOutput
	ToBudgetBudgetFilterCustomPeriodEndDateOutputWithContext(context.Context) BudgetBudgetFilterCustomPeriodEndDateOutput
}

BudgetBudgetFilterCustomPeriodEndDateInput is an input type that accepts BudgetBudgetFilterCustomPeriodEndDateArgs and BudgetBudgetFilterCustomPeriodEndDateOutput values. You can construct a concrete instance of `BudgetBudgetFilterCustomPeriodEndDateInput` via:

BudgetBudgetFilterCustomPeriodEndDateArgs{...}

type BudgetBudgetFilterCustomPeriodEndDateOutput added in v6.31.0

type BudgetBudgetFilterCustomPeriodEndDateOutput struct{ *pulumi.OutputState }

func (BudgetBudgetFilterCustomPeriodEndDateOutput) Day added in v6.31.0

Day of a month. Must be from 1 to 31 and valid for the year and month.

func (BudgetBudgetFilterCustomPeriodEndDateOutput) ElementType added in v6.31.0

func (BudgetBudgetFilterCustomPeriodEndDateOutput) Month added in v6.31.0

Month of a year. Must be from 1 to 12.

func (BudgetBudgetFilterCustomPeriodEndDateOutput) ToBudgetBudgetFilterCustomPeriodEndDateOutput added in v6.31.0

func (o BudgetBudgetFilterCustomPeriodEndDateOutput) ToBudgetBudgetFilterCustomPeriodEndDateOutput() BudgetBudgetFilterCustomPeriodEndDateOutput

func (BudgetBudgetFilterCustomPeriodEndDateOutput) ToBudgetBudgetFilterCustomPeriodEndDateOutputWithContext added in v6.31.0

func (o BudgetBudgetFilterCustomPeriodEndDateOutput) ToBudgetBudgetFilterCustomPeriodEndDateOutputWithContext(ctx context.Context) BudgetBudgetFilterCustomPeriodEndDateOutput

func (BudgetBudgetFilterCustomPeriodEndDateOutput) ToBudgetBudgetFilterCustomPeriodEndDatePtrOutput added in v6.31.0

func (o BudgetBudgetFilterCustomPeriodEndDateOutput) ToBudgetBudgetFilterCustomPeriodEndDatePtrOutput() BudgetBudgetFilterCustomPeriodEndDatePtrOutput

func (BudgetBudgetFilterCustomPeriodEndDateOutput) ToBudgetBudgetFilterCustomPeriodEndDatePtrOutputWithContext added in v6.31.0

func (o BudgetBudgetFilterCustomPeriodEndDateOutput) ToBudgetBudgetFilterCustomPeriodEndDatePtrOutputWithContext(ctx context.Context) BudgetBudgetFilterCustomPeriodEndDatePtrOutput

func (BudgetBudgetFilterCustomPeriodEndDateOutput) ToOutput added in v6.65.1

func (BudgetBudgetFilterCustomPeriodEndDateOutput) Year added in v6.31.0

Year of the date. Must be from 1 to 9999.

type BudgetBudgetFilterCustomPeriodEndDatePtrInput added in v6.31.0

type BudgetBudgetFilterCustomPeriodEndDatePtrInput interface {
	pulumi.Input

	ToBudgetBudgetFilterCustomPeriodEndDatePtrOutput() BudgetBudgetFilterCustomPeriodEndDatePtrOutput
	ToBudgetBudgetFilterCustomPeriodEndDatePtrOutputWithContext(context.Context) BudgetBudgetFilterCustomPeriodEndDatePtrOutput
}

BudgetBudgetFilterCustomPeriodEndDatePtrInput is an input type that accepts BudgetBudgetFilterCustomPeriodEndDateArgs, BudgetBudgetFilterCustomPeriodEndDatePtr and BudgetBudgetFilterCustomPeriodEndDatePtrOutput values. You can construct a concrete instance of `BudgetBudgetFilterCustomPeriodEndDatePtrInput` via:

        BudgetBudgetFilterCustomPeriodEndDateArgs{...}

or:

        nil

type BudgetBudgetFilterCustomPeriodEndDatePtrOutput added in v6.31.0

type BudgetBudgetFilterCustomPeriodEndDatePtrOutput struct{ *pulumi.OutputState }

func (BudgetBudgetFilterCustomPeriodEndDatePtrOutput) Day added in v6.31.0

Day of a month. Must be from 1 to 31 and valid for the year and month.

func (BudgetBudgetFilterCustomPeriodEndDatePtrOutput) Elem added in v6.31.0

func (BudgetBudgetFilterCustomPeriodEndDatePtrOutput) ElementType added in v6.31.0

func (BudgetBudgetFilterCustomPeriodEndDatePtrOutput) Month added in v6.31.0

Month of a year. Must be from 1 to 12.

func (BudgetBudgetFilterCustomPeriodEndDatePtrOutput) ToBudgetBudgetFilterCustomPeriodEndDatePtrOutput added in v6.31.0

func (o BudgetBudgetFilterCustomPeriodEndDatePtrOutput) ToBudgetBudgetFilterCustomPeriodEndDatePtrOutput() BudgetBudgetFilterCustomPeriodEndDatePtrOutput

func (BudgetBudgetFilterCustomPeriodEndDatePtrOutput) ToBudgetBudgetFilterCustomPeriodEndDatePtrOutputWithContext added in v6.31.0

func (o BudgetBudgetFilterCustomPeriodEndDatePtrOutput) ToBudgetBudgetFilterCustomPeriodEndDatePtrOutputWithContext(ctx context.Context) BudgetBudgetFilterCustomPeriodEndDatePtrOutput

func (BudgetBudgetFilterCustomPeriodEndDatePtrOutput) ToOutput added in v6.65.1

func (BudgetBudgetFilterCustomPeriodEndDatePtrOutput) Year added in v6.31.0

Year of the date. Must be from 1 to 9999.

type BudgetBudgetFilterCustomPeriodInput added in v6.31.0

type BudgetBudgetFilterCustomPeriodInput interface {
	pulumi.Input

	ToBudgetBudgetFilterCustomPeriodOutput() BudgetBudgetFilterCustomPeriodOutput
	ToBudgetBudgetFilterCustomPeriodOutputWithContext(context.Context) BudgetBudgetFilterCustomPeriodOutput
}

BudgetBudgetFilterCustomPeriodInput is an input type that accepts BudgetBudgetFilterCustomPeriodArgs and BudgetBudgetFilterCustomPeriodOutput values. You can construct a concrete instance of `BudgetBudgetFilterCustomPeriodInput` via:

BudgetBudgetFilterCustomPeriodArgs{...}

type BudgetBudgetFilterCustomPeriodOutput added in v6.31.0

type BudgetBudgetFilterCustomPeriodOutput struct{ *pulumi.OutputState }

func (BudgetBudgetFilterCustomPeriodOutput) ElementType added in v6.31.0

func (BudgetBudgetFilterCustomPeriodOutput) EndDate added in v6.31.0

Optional. The end date of the time period. Budgets with elapsed end date won't be processed. If unset, specifies to track all usage incurred since the startDate. Structure is documented below.

func (BudgetBudgetFilterCustomPeriodOutput) StartDate added in v6.31.0

A start date is required. The start date must be after January 1, 2017. Structure is documented below.

func (BudgetBudgetFilterCustomPeriodOutput) ToBudgetBudgetFilterCustomPeriodOutput added in v6.31.0

func (o BudgetBudgetFilterCustomPeriodOutput) ToBudgetBudgetFilterCustomPeriodOutput() BudgetBudgetFilterCustomPeriodOutput

func (BudgetBudgetFilterCustomPeriodOutput) ToBudgetBudgetFilterCustomPeriodOutputWithContext added in v6.31.0

func (o BudgetBudgetFilterCustomPeriodOutput) ToBudgetBudgetFilterCustomPeriodOutputWithContext(ctx context.Context) BudgetBudgetFilterCustomPeriodOutput

func (BudgetBudgetFilterCustomPeriodOutput) ToBudgetBudgetFilterCustomPeriodPtrOutput added in v6.31.0

func (o BudgetBudgetFilterCustomPeriodOutput) ToBudgetBudgetFilterCustomPeriodPtrOutput() BudgetBudgetFilterCustomPeriodPtrOutput

func (BudgetBudgetFilterCustomPeriodOutput) ToBudgetBudgetFilterCustomPeriodPtrOutputWithContext added in v6.31.0

func (o BudgetBudgetFilterCustomPeriodOutput) ToBudgetBudgetFilterCustomPeriodPtrOutputWithContext(ctx context.Context) BudgetBudgetFilterCustomPeriodPtrOutput

func (BudgetBudgetFilterCustomPeriodOutput) ToOutput added in v6.65.1

type BudgetBudgetFilterCustomPeriodPtrInput added in v6.31.0

type BudgetBudgetFilterCustomPeriodPtrInput interface {
	pulumi.Input

	ToBudgetBudgetFilterCustomPeriodPtrOutput() BudgetBudgetFilterCustomPeriodPtrOutput
	ToBudgetBudgetFilterCustomPeriodPtrOutputWithContext(context.Context) BudgetBudgetFilterCustomPeriodPtrOutput
}

BudgetBudgetFilterCustomPeriodPtrInput is an input type that accepts BudgetBudgetFilterCustomPeriodArgs, BudgetBudgetFilterCustomPeriodPtr and BudgetBudgetFilterCustomPeriodPtrOutput values. You can construct a concrete instance of `BudgetBudgetFilterCustomPeriodPtrInput` via:

        BudgetBudgetFilterCustomPeriodArgs{...}

or:

        nil

type BudgetBudgetFilterCustomPeriodPtrOutput added in v6.31.0

type BudgetBudgetFilterCustomPeriodPtrOutput struct{ *pulumi.OutputState }

func (BudgetBudgetFilterCustomPeriodPtrOutput) Elem added in v6.31.0

func (BudgetBudgetFilterCustomPeriodPtrOutput) ElementType added in v6.31.0

func (BudgetBudgetFilterCustomPeriodPtrOutput) EndDate added in v6.31.0

Optional. The end date of the time period. Budgets with elapsed end date won't be processed. If unset, specifies to track all usage incurred since the startDate. Structure is documented below.

func (BudgetBudgetFilterCustomPeriodPtrOutput) StartDate added in v6.31.0

A start date is required. The start date must be after January 1, 2017. Structure is documented below.

func (BudgetBudgetFilterCustomPeriodPtrOutput) ToBudgetBudgetFilterCustomPeriodPtrOutput added in v6.31.0

func (o BudgetBudgetFilterCustomPeriodPtrOutput) ToBudgetBudgetFilterCustomPeriodPtrOutput() BudgetBudgetFilterCustomPeriodPtrOutput

func (BudgetBudgetFilterCustomPeriodPtrOutput) ToBudgetBudgetFilterCustomPeriodPtrOutputWithContext added in v6.31.0

func (o BudgetBudgetFilterCustomPeriodPtrOutput) ToBudgetBudgetFilterCustomPeriodPtrOutputWithContext(ctx context.Context) BudgetBudgetFilterCustomPeriodPtrOutput

func (BudgetBudgetFilterCustomPeriodPtrOutput) ToOutput added in v6.65.1

type BudgetBudgetFilterCustomPeriodStartDate added in v6.31.0

type BudgetBudgetFilterCustomPeriodStartDate struct {
	// Day of a month. Must be from 1 to 31 and valid for the year and month.
	Day int `pulumi:"day"`
	// Month of a year. Must be from 1 to 12.
	Month int `pulumi:"month"`
	// Year of the date. Must be from 1 to 9999.
	Year int `pulumi:"year"`
}

type BudgetBudgetFilterCustomPeriodStartDateArgs added in v6.31.0

type BudgetBudgetFilterCustomPeriodStartDateArgs struct {
	// Day of a month. Must be from 1 to 31 and valid for the year and month.
	Day pulumi.IntInput `pulumi:"day"`
	// Month of a year. Must be from 1 to 12.
	Month pulumi.IntInput `pulumi:"month"`
	// Year of the date. Must be from 1 to 9999.
	Year pulumi.IntInput `pulumi:"year"`
}

func (BudgetBudgetFilterCustomPeriodStartDateArgs) ElementType added in v6.31.0

func (BudgetBudgetFilterCustomPeriodStartDateArgs) ToBudgetBudgetFilterCustomPeriodStartDateOutput added in v6.31.0

func (i BudgetBudgetFilterCustomPeriodStartDateArgs) ToBudgetBudgetFilterCustomPeriodStartDateOutput() BudgetBudgetFilterCustomPeriodStartDateOutput

func (BudgetBudgetFilterCustomPeriodStartDateArgs) ToBudgetBudgetFilterCustomPeriodStartDateOutputWithContext added in v6.31.0

func (i BudgetBudgetFilterCustomPeriodStartDateArgs) ToBudgetBudgetFilterCustomPeriodStartDateOutputWithContext(ctx context.Context) BudgetBudgetFilterCustomPeriodStartDateOutput

func (BudgetBudgetFilterCustomPeriodStartDateArgs) ToBudgetBudgetFilterCustomPeriodStartDatePtrOutput added in v6.31.0

func (i BudgetBudgetFilterCustomPeriodStartDateArgs) ToBudgetBudgetFilterCustomPeriodStartDatePtrOutput() BudgetBudgetFilterCustomPeriodStartDatePtrOutput

func (BudgetBudgetFilterCustomPeriodStartDateArgs) ToBudgetBudgetFilterCustomPeriodStartDatePtrOutputWithContext added in v6.31.0

func (i BudgetBudgetFilterCustomPeriodStartDateArgs) ToBudgetBudgetFilterCustomPeriodStartDatePtrOutputWithContext(ctx context.Context) BudgetBudgetFilterCustomPeriodStartDatePtrOutput

func (BudgetBudgetFilterCustomPeriodStartDateArgs) ToOutput added in v6.65.1

type BudgetBudgetFilterCustomPeriodStartDateInput added in v6.31.0

type BudgetBudgetFilterCustomPeriodStartDateInput interface {
	pulumi.Input

	ToBudgetBudgetFilterCustomPeriodStartDateOutput() BudgetBudgetFilterCustomPeriodStartDateOutput
	ToBudgetBudgetFilterCustomPeriodStartDateOutputWithContext(context.Context) BudgetBudgetFilterCustomPeriodStartDateOutput
}

BudgetBudgetFilterCustomPeriodStartDateInput is an input type that accepts BudgetBudgetFilterCustomPeriodStartDateArgs and BudgetBudgetFilterCustomPeriodStartDateOutput values. You can construct a concrete instance of `BudgetBudgetFilterCustomPeriodStartDateInput` via:

BudgetBudgetFilterCustomPeriodStartDateArgs{...}

type BudgetBudgetFilterCustomPeriodStartDateOutput added in v6.31.0

type BudgetBudgetFilterCustomPeriodStartDateOutput struct{ *pulumi.OutputState }

func (BudgetBudgetFilterCustomPeriodStartDateOutput) Day added in v6.31.0

Day of a month. Must be from 1 to 31 and valid for the year and month.

func (BudgetBudgetFilterCustomPeriodStartDateOutput) ElementType added in v6.31.0

func (BudgetBudgetFilterCustomPeriodStartDateOutput) Month added in v6.31.0

Month of a year. Must be from 1 to 12.

func (BudgetBudgetFilterCustomPeriodStartDateOutput) ToBudgetBudgetFilterCustomPeriodStartDateOutput added in v6.31.0

func (o BudgetBudgetFilterCustomPeriodStartDateOutput) ToBudgetBudgetFilterCustomPeriodStartDateOutput() BudgetBudgetFilterCustomPeriodStartDateOutput

func (BudgetBudgetFilterCustomPeriodStartDateOutput) ToBudgetBudgetFilterCustomPeriodStartDateOutputWithContext added in v6.31.0

func (o BudgetBudgetFilterCustomPeriodStartDateOutput) ToBudgetBudgetFilterCustomPeriodStartDateOutputWithContext(ctx context.Context) BudgetBudgetFilterCustomPeriodStartDateOutput

func (BudgetBudgetFilterCustomPeriodStartDateOutput) ToBudgetBudgetFilterCustomPeriodStartDatePtrOutput added in v6.31.0

func (o BudgetBudgetFilterCustomPeriodStartDateOutput) ToBudgetBudgetFilterCustomPeriodStartDatePtrOutput() BudgetBudgetFilterCustomPeriodStartDatePtrOutput

func (BudgetBudgetFilterCustomPeriodStartDateOutput) ToBudgetBudgetFilterCustomPeriodStartDatePtrOutputWithContext added in v6.31.0

func (o BudgetBudgetFilterCustomPeriodStartDateOutput) ToBudgetBudgetFilterCustomPeriodStartDatePtrOutputWithContext(ctx context.Context) BudgetBudgetFilterCustomPeriodStartDatePtrOutput

func (BudgetBudgetFilterCustomPeriodStartDateOutput) ToOutput added in v6.65.1

func (BudgetBudgetFilterCustomPeriodStartDateOutput) Year added in v6.31.0

Year of the date. Must be from 1 to 9999.

type BudgetBudgetFilterCustomPeriodStartDatePtrInput added in v6.31.0

type BudgetBudgetFilterCustomPeriodStartDatePtrInput interface {
	pulumi.Input

	ToBudgetBudgetFilterCustomPeriodStartDatePtrOutput() BudgetBudgetFilterCustomPeriodStartDatePtrOutput
	ToBudgetBudgetFilterCustomPeriodStartDatePtrOutputWithContext(context.Context) BudgetBudgetFilterCustomPeriodStartDatePtrOutput
}

BudgetBudgetFilterCustomPeriodStartDatePtrInput is an input type that accepts BudgetBudgetFilterCustomPeriodStartDateArgs, BudgetBudgetFilterCustomPeriodStartDatePtr and BudgetBudgetFilterCustomPeriodStartDatePtrOutput values. You can construct a concrete instance of `BudgetBudgetFilterCustomPeriodStartDatePtrInput` via:

        BudgetBudgetFilterCustomPeriodStartDateArgs{...}

or:

        nil

type BudgetBudgetFilterCustomPeriodStartDatePtrOutput added in v6.31.0

type BudgetBudgetFilterCustomPeriodStartDatePtrOutput struct{ *pulumi.OutputState }

func (BudgetBudgetFilterCustomPeriodStartDatePtrOutput) Day added in v6.31.0

Day of a month. Must be from 1 to 31 and valid for the year and month.

func (BudgetBudgetFilterCustomPeriodStartDatePtrOutput) Elem added in v6.31.0

func (BudgetBudgetFilterCustomPeriodStartDatePtrOutput) ElementType added in v6.31.0

func (BudgetBudgetFilterCustomPeriodStartDatePtrOutput) Month added in v6.31.0

Month of a year. Must be from 1 to 12.

func (BudgetBudgetFilterCustomPeriodStartDatePtrOutput) ToBudgetBudgetFilterCustomPeriodStartDatePtrOutput added in v6.31.0

func (o BudgetBudgetFilterCustomPeriodStartDatePtrOutput) ToBudgetBudgetFilterCustomPeriodStartDatePtrOutput() BudgetBudgetFilterCustomPeriodStartDatePtrOutput

func (BudgetBudgetFilterCustomPeriodStartDatePtrOutput) ToBudgetBudgetFilterCustomPeriodStartDatePtrOutputWithContext added in v6.31.0

func (o BudgetBudgetFilterCustomPeriodStartDatePtrOutput) ToBudgetBudgetFilterCustomPeriodStartDatePtrOutputWithContext(ctx context.Context) BudgetBudgetFilterCustomPeriodStartDatePtrOutput

func (BudgetBudgetFilterCustomPeriodStartDatePtrOutput) ToOutput added in v6.65.1

func (BudgetBudgetFilterCustomPeriodStartDatePtrOutput) Year added in v6.31.0

Year of the date. Must be from 1 to 9999.

type BudgetBudgetFilterInput

type BudgetBudgetFilterInput interface {
	pulumi.Input

	ToBudgetBudgetFilterOutput() BudgetBudgetFilterOutput
	ToBudgetBudgetFilterOutputWithContext(context.Context) BudgetBudgetFilterOutput
}

BudgetBudgetFilterInput is an input type that accepts BudgetBudgetFilterArgs and BudgetBudgetFilterOutput values. You can construct a concrete instance of `BudgetBudgetFilterInput` via:

BudgetBudgetFilterArgs{...}

type BudgetBudgetFilterOutput

type BudgetBudgetFilterOutput struct{ *pulumi.OutputState }

func (BudgetBudgetFilterOutput) CalendarPeriod added in v6.31.0

func (o BudgetBudgetFilterOutput) CalendarPeriod() pulumi.StringPtrOutput

A CalendarPeriod represents the abstract concept of a recurring time period that has a canonical start. Grammatically, "the start of the current CalendarPeriod". All calendar times begin at 12 AM US and Canadian Pacific Time (UTC-8). Exactly one of `calendarPeriod`, `customPeriod` must be provided. Possible values are: `MONTH`, `QUARTER`, `YEAR`, `CALENDAR_PERIOD_UNSPECIFIED`.

func (BudgetBudgetFilterOutput) CreditTypes

Optional. If creditTypesTreatment is INCLUDE_SPECIFIED_CREDITS, this is a list of credit types to be subtracted from gross cost to determine the spend for threshold calculations. See a list of acceptable credit type values. If creditTypesTreatment is not INCLUDE_SPECIFIED_CREDITS, this field must be empty. **Note:** If the field has a value in the config and needs to be removed, the field has to be an emtpy array in the config.

func (BudgetBudgetFilterOutput) CreditTypesTreatment

func (o BudgetBudgetFilterOutput) CreditTypesTreatment() pulumi.StringPtrOutput

Specifies how credits should be treated when determining spend for threshold calculations. Default value is `INCLUDE_ALL_CREDITS`. Possible values are: `INCLUDE_ALL_CREDITS`, `EXCLUDE_ALL_CREDITS`, `INCLUDE_SPECIFIED_CREDITS`.

func (BudgetBudgetFilterOutput) CustomPeriod added in v6.31.0

Specifies to track usage from any start date (required) to any end date (optional). This time period is static, it does not recur. Exactly one of `calendarPeriod`, `customPeriod` must be provided. Structure is documented below.

func (BudgetBudgetFilterOutput) ElementType

func (BudgetBudgetFilterOutput) ElementType() reflect.Type

func (BudgetBudgetFilterOutput) Labels

A single label and value pair specifying that usage from only this set of labeled resources should be included in the budget.

func (BudgetBudgetFilterOutput) Projects

A set of projects of the form projects/{project_number}, specifying that usage from only this set of projects should be included in the budget. If omitted, the report will include all usage for the billing account, regardless of which project the usage occurred on.

func (BudgetBudgetFilterOutput) ResourceAncestors added in v6.64.0

func (o BudgetBudgetFilterOutput) ResourceAncestors() pulumi.StringArrayOutput

A set of folder and organization names of the form folders/{folderId} or organizations/{organizationId}, specifying that usage from only this set of folders and organizations should be included in the budget. If omitted, the budget includes all usage that the billing account pays for. If the folder or organization contains projects that are paid for by a different Cloud Billing account, the budget doesn't apply to those projects.

func (BudgetBudgetFilterOutput) Services

A set of services of the form services/{service_id}, specifying that usage from only this set of services should be included in the budget. If omitted, the report will include usage for all the services. The service names are available through the Catalog API: https://cloud.google.com/billing/v1/how-tos/catalog-api.

func (BudgetBudgetFilterOutput) Subaccounts

A set of subaccounts of the form billingAccounts/{account_id}, specifying that usage from only this set of subaccounts should be included in the budget. If a subaccount is set to the name of the parent account, usage from the parent account will be included. If the field is omitted, the report will include usage from the parent account and all subaccounts, if they exist. **Note:** If the field has a value in the config and needs to be removed, the field has to be an emtpy array in the config.

func (BudgetBudgetFilterOutput) ToBudgetBudgetFilterOutput

func (o BudgetBudgetFilterOutput) ToBudgetBudgetFilterOutput() BudgetBudgetFilterOutput

func (BudgetBudgetFilterOutput) ToBudgetBudgetFilterOutputWithContext

func (o BudgetBudgetFilterOutput) ToBudgetBudgetFilterOutputWithContext(ctx context.Context) BudgetBudgetFilterOutput

func (BudgetBudgetFilterOutput) ToBudgetBudgetFilterPtrOutput

func (o BudgetBudgetFilterOutput) ToBudgetBudgetFilterPtrOutput() BudgetBudgetFilterPtrOutput

func (BudgetBudgetFilterOutput) ToBudgetBudgetFilterPtrOutputWithContext

func (o BudgetBudgetFilterOutput) ToBudgetBudgetFilterPtrOutputWithContext(ctx context.Context) BudgetBudgetFilterPtrOutput

func (BudgetBudgetFilterOutput) ToOutput added in v6.65.1

type BudgetBudgetFilterPtrInput

type BudgetBudgetFilterPtrInput interface {
	pulumi.Input

	ToBudgetBudgetFilterPtrOutput() BudgetBudgetFilterPtrOutput
	ToBudgetBudgetFilterPtrOutputWithContext(context.Context) BudgetBudgetFilterPtrOutput
}

BudgetBudgetFilterPtrInput is an input type that accepts BudgetBudgetFilterArgs, BudgetBudgetFilterPtr and BudgetBudgetFilterPtrOutput values. You can construct a concrete instance of `BudgetBudgetFilterPtrInput` via:

        BudgetBudgetFilterArgs{...}

or:

        nil

type BudgetBudgetFilterPtrOutput

type BudgetBudgetFilterPtrOutput struct{ *pulumi.OutputState }

func (BudgetBudgetFilterPtrOutput) CalendarPeriod added in v6.31.0

A CalendarPeriod represents the abstract concept of a recurring time period that has a canonical start. Grammatically, "the start of the current CalendarPeriod". All calendar times begin at 12 AM US and Canadian Pacific Time (UTC-8). Exactly one of `calendarPeriod`, `customPeriod` must be provided. Possible values are: `MONTH`, `QUARTER`, `YEAR`, `CALENDAR_PERIOD_UNSPECIFIED`.

func (BudgetBudgetFilterPtrOutput) CreditTypes

Optional. If creditTypesTreatment is INCLUDE_SPECIFIED_CREDITS, this is a list of credit types to be subtracted from gross cost to determine the spend for threshold calculations. See a list of acceptable credit type values. If creditTypesTreatment is not INCLUDE_SPECIFIED_CREDITS, this field must be empty. **Note:** If the field has a value in the config and needs to be removed, the field has to be an emtpy array in the config.

func (BudgetBudgetFilterPtrOutput) CreditTypesTreatment

func (o BudgetBudgetFilterPtrOutput) CreditTypesTreatment() pulumi.StringPtrOutput

Specifies how credits should be treated when determining spend for threshold calculations. Default value is `INCLUDE_ALL_CREDITS`. Possible values are: `INCLUDE_ALL_CREDITS`, `EXCLUDE_ALL_CREDITS`, `INCLUDE_SPECIFIED_CREDITS`.

func (BudgetBudgetFilterPtrOutput) CustomPeriod added in v6.31.0

Specifies to track usage from any start date (required) to any end date (optional). This time period is static, it does not recur. Exactly one of `calendarPeriod`, `customPeriod` must be provided. Structure is documented below.

func (BudgetBudgetFilterPtrOutput) Elem

func (BudgetBudgetFilterPtrOutput) ElementType

func (BudgetBudgetFilterPtrOutput) Labels

A single label and value pair specifying that usage from only this set of labeled resources should be included in the budget.

func (BudgetBudgetFilterPtrOutput) Projects

A set of projects of the form projects/{project_number}, specifying that usage from only this set of projects should be included in the budget. If omitted, the report will include all usage for the billing account, regardless of which project the usage occurred on.

func (BudgetBudgetFilterPtrOutput) ResourceAncestors added in v6.64.0

A set of folder and organization names of the form folders/{folderId} or organizations/{organizationId}, specifying that usage from only this set of folders and organizations should be included in the budget. If omitted, the budget includes all usage that the billing account pays for. If the folder or organization contains projects that are paid for by a different Cloud Billing account, the budget doesn't apply to those projects.

func (BudgetBudgetFilterPtrOutput) Services

A set of services of the form services/{service_id}, specifying that usage from only this set of services should be included in the budget. If omitted, the report will include usage for all the services. The service names are available through the Catalog API: https://cloud.google.com/billing/v1/how-tos/catalog-api.

func (BudgetBudgetFilterPtrOutput) Subaccounts

A set of subaccounts of the form billingAccounts/{account_id}, specifying that usage from only this set of subaccounts should be included in the budget. If a subaccount is set to the name of the parent account, usage from the parent account will be included. If the field is omitted, the report will include usage from the parent account and all subaccounts, if they exist. **Note:** If the field has a value in the config and needs to be removed, the field has to be an emtpy array in the config.

func (BudgetBudgetFilterPtrOutput) ToBudgetBudgetFilterPtrOutput

func (o BudgetBudgetFilterPtrOutput) ToBudgetBudgetFilterPtrOutput() BudgetBudgetFilterPtrOutput

func (BudgetBudgetFilterPtrOutput) ToBudgetBudgetFilterPtrOutputWithContext

func (o BudgetBudgetFilterPtrOutput) ToBudgetBudgetFilterPtrOutputWithContext(ctx context.Context) BudgetBudgetFilterPtrOutput

func (BudgetBudgetFilterPtrOutput) ToOutput added in v6.65.1

type BudgetInput

type BudgetInput interface {
	pulumi.Input

	ToBudgetOutput() BudgetOutput
	ToBudgetOutputWithContext(ctx context.Context) BudgetOutput
}

type BudgetMap

type BudgetMap map[string]BudgetInput

func (BudgetMap) ElementType

func (BudgetMap) ElementType() reflect.Type

func (BudgetMap) ToBudgetMapOutput

func (i BudgetMap) ToBudgetMapOutput() BudgetMapOutput

func (BudgetMap) ToBudgetMapOutputWithContext

func (i BudgetMap) ToBudgetMapOutputWithContext(ctx context.Context) BudgetMapOutput

func (BudgetMap) ToOutput added in v6.65.1

func (i BudgetMap) ToOutput(ctx context.Context) pulumix.Output[map[string]*Budget]

type BudgetMapInput

type BudgetMapInput interface {
	pulumi.Input

	ToBudgetMapOutput() BudgetMapOutput
	ToBudgetMapOutputWithContext(context.Context) BudgetMapOutput
}

BudgetMapInput is an input type that accepts BudgetMap and BudgetMapOutput values. You can construct a concrete instance of `BudgetMapInput` via:

BudgetMap{ "key": BudgetArgs{...} }

type BudgetMapOutput

type BudgetMapOutput struct{ *pulumi.OutputState }

func (BudgetMapOutput) ElementType

func (BudgetMapOutput) ElementType() reflect.Type

func (BudgetMapOutput) MapIndex

func (BudgetMapOutput) ToBudgetMapOutput

func (o BudgetMapOutput) ToBudgetMapOutput() BudgetMapOutput

func (BudgetMapOutput) ToBudgetMapOutputWithContext

func (o BudgetMapOutput) ToBudgetMapOutputWithContext(ctx context.Context) BudgetMapOutput

func (BudgetMapOutput) ToOutput added in v6.65.1

func (o BudgetMapOutput) ToOutput(ctx context.Context) pulumix.Output[map[string]*Budget]

type BudgetOutput

type BudgetOutput struct{ *pulumi.OutputState }

func (BudgetOutput) AllUpdatesRule added in v6.23.0

func (o BudgetOutput) AllUpdatesRule() BudgetAllUpdatesRulePtrOutput

Defines notifications that are sent on every update to the billing account's spend, regardless of the thresholds defined using threshold rules. Structure is documented below.

func (BudgetOutput) Amount added in v6.23.0

func (o BudgetOutput) Amount() BudgetAmountOutput

The budgeted amount for each usage period. Structure is documented below.

func (BudgetOutput) BillingAccount added in v6.23.0

func (o BudgetOutput) BillingAccount() pulumi.StringOutput

ID of the billing account to set a budget on.

func (BudgetOutput) BudgetFilter added in v6.23.0

func (o BudgetOutput) BudgetFilter() BudgetBudgetFilterOutput

Filters that define which resources are used to compute the actual spend against the budget. Structure is documented below.

func (BudgetOutput) DisplayName added in v6.23.0

func (o BudgetOutput) DisplayName() pulumi.StringPtrOutput

User data for display name in UI. Must be <= 60 chars.

func (BudgetOutput) ElementType

func (BudgetOutput) ElementType() reflect.Type

func (BudgetOutput) Name added in v6.23.0

func (o BudgetOutput) Name() pulumi.StringOutput

Resource name of the budget. The resource name implies the scope of a budget. Values are of the form billingAccounts/{billingAccountId}/budgets/{budgetId}.

func (BudgetOutput) ThresholdRules added in v6.23.0

func (o BudgetOutput) ThresholdRules() BudgetThresholdRuleArrayOutput

Rules that trigger alerts (notifications of thresholds being crossed) when spend exceeds the specified percentages of the budget. Structure is documented below.

func (BudgetOutput) ToBudgetOutput

func (o BudgetOutput) ToBudgetOutput() BudgetOutput

func (BudgetOutput) ToBudgetOutputWithContext

func (o BudgetOutput) ToBudgetOutputWithContext(ctx context.Context) BudgetOutput

func (BudgetOutput) ToOutput added in v6.65.1

func (o BudgetOutput) ToOutput(ctx context.Context) pulumix.Output[*Budget]

type BudgetState

type BudgetState struct {
	// Defines notifications that are sent on every update to the
	// billing account's spend, regardless of the thresholds defined
	// using threshold rules.
	// Structure is documented below.
	AllUpdatesRule BudgetAllUpdatesRulePtrInput
	// The budgeted amount for each usage period.
	// Structure is documented below.
	Amount BudgetAmountPtrInput
	// ID of the billing account to set a budget on.
	BillingAccount pulumi.StringPtrInput
	// Filters that define which resources are used to compute the actual
	// spend against the budget.
	// Structure is documented below.
	BudgetFilter BudgetBudgetFilterPtrInput
	// User data for display name in UI. Must be <= 60 chars.
	DisplayName pulumi.StringPtrInput
	// Resource name of the budget. The resource name
	// implies the scope of a budget. Values are of the form
	// billingAccounts/{billingAccountId}/budgets/{budgetId}.
	Name pulumi.StringPtrInput
	// Rules that trigger alerts (notifications of thresholds being
	// crossed) when spend exceeds the specified percentages of the
	// budget.
	// Structure is documented below.
	ThresholdRules BudgetThresholdRuleArrayInput
}

func (BudgetState) ElementType

func (BudgetState) ElementType() reflect.Type

type BudgetThresholdRule

type BudgetThresholdRule struct {
	// The type of basis used to determine if spend has passed
	// the threshold.
	// Default value is `CURRENT_SPEND`.
	// Possible values are: `CURRENT_SPEND`, `FORECASTED_SPEND`.
	SpendBasis *string `pulumi:"spendBasis"`
	// Send an alert when this threshold is exceeded. This is a
	// 1.0-based percentage, so 0.5 = 50%. Must be >= 0.
	ThresholdPercent float64 `pulumi:"thresholdPercent"`
}

type BudgetThresholdRuleArgs

type BudgetThresholdRuleArgs struct {
	// The type of basis used to determine if spend has passed
	// the threshold.
	// Default value is `CURRENT_SPEND`.
	// Possible values are: `CURRENT_SPEND`, `FORECASTED_SPEND`.
	SpendBasis pulumi.StringPtrInput `pulumi:"spendBasis"`
	// Send an alert when this threshold is exceeded. This is a
	// 1.0-based percentage, so 0.5 = 50%. Must be >= 0.
	ThresholdPercent pulumi.Float64Input `pulumi:"thresholdPercent"`
}

func (BudgetThresholdRuleArgs) ElementType

func (BudgetThresholdRuleArgs) ElementType() reflect.Type

func (BudgetThresholdRuleArgs) ToBudgetThresholdRuleOutput

func (i BudgetThresholdRuleArgs) ToBudgetThresholdRuleOutput() BudgetThresholdRuleOutput

func (BudgetThresholdRuleArgs) ToBudgetThresholdRuleOutputWithContext

func (i BudgetThresholdRuleArgs) ToBudgetThresholdRuleOutputWithContext(ctx context.Context) BudgetThresholdRuleOutput

func (BudgetThresholdRuleArgs) ToOutput added in v6.65.1

type BudgetThresholdRuleArray

type BudgetThresholdRuleArray []BudgetThresholdRuleInput

func (BudgetThresholdRuleArray) ElementType

func (BudgetThresholdRuleArray) ElementType() reflect.Type

func (BudgetThresholdRuleArray) ToBudgetThresholdRuleArrayOutput

func (i BudgetThresholdRuleArray) ToBudgetThresholdRuleArrayOutput() BudgetThresholdRuleArrayOutput

func (BudgetThresholdRuleArray) ToBudgetThresholdRuleArrayOutputWithContext

func (i BudgetThresholdRuleArray) ToBudgetThresholdRuleArrayOutputWithContext(ctx context.Context) BudgetThresholdRuleArrayOutput

func (BudgetThresholdRuleArray) ToOutput added in v6.65.1

type BudgetThresholdRuleArrayInput

type BudgetThresholdRuleArrayInput interface {
	pulumi.Input

	ToBudgetThresholdRuleArrayOutput() BudgetThresholdRuleArrayOutput
	ToBudgetThresholdRuleArrayOutputWithContext(context.Context) BudgetThresholdRuleArrayOutput
}

BudgetThresholdRuleArrayInput is an input type that accepts BudgetThresholdRuleArray and BudgetThresholdRuleArrayOutput values. You can construct a concrete instance of `BudgetThresholdRuleArrayInput` via:

BudgetThresholdRuleArray{ BudgetThresholdRuleArgs{...} }

type BudgetThresholdRuleArrayOutput

type BudgetThresholdRuleArrayOutput struct{ *pulumi.OutputState }

func (BudgetThresholdRuleArrayOutput) ElementType

func (BudgetThresholdRuleArrayOutput) Index

func (BudgetThresholdRuleArrayOutput) ToBudgetThresholdRuleArrayOutput

func (o BudgetThresholdRuleArrayOutput) ToBudgetThresholdRuleArrayOutput() BudgetThresholdRuleArrayOutput

func (BudgetThresholdRuleArrayOutput) ToBudgetThresholdRuleArrayOutputWithContext

func (o BudgetThresholdRuleArrayOutput) ToBudgetThresholdRuleArrayOutputWithContext(ctx context.Context) BudgetThresholdRuleArrayOutput

func (BudgetThresholdRuleArrayOutput) ToOutput added in v6.65.1

type BudgetThresholdRuleInput

type BudgetThresholdRuleInput interface {
	pulumi.Input

	ToBudgetThresholdRuleOutput() BudgetThresholdRuleOutput
	ToBudgetThresholdRuleOutputWithContext(context.Context) BudgetThresholdRuleOutput
}

BudgetThresholdRuleInput is an input type that accepts BudgetThresholdRuleArgs and BudgetThresholdRuleOutput values. You can construct a concrete instance of `BudgetThresholdRuleInput` via:

BudgetThresholdRuleArgs{...}

type BudgetThresholdRuleOutput

type BudgetThresholdRuleOutput struct{ *pulumi.OutputState }

func (BudgetThresholdRuleOutput) ElementType

func (BudgetThresholdRuleOutput) ElementType() reflect.Type

func (BudgetThresholdRuleOutput) SpendBasis

The type of basis used to determine if spend has passed the threshold. Default value is `CURRENT_SPEND`. Possible values are: `CURRENT_SPEND`, `FORECASTED_SPEND`.

func (BudgetThresholdRuleOutput) ThresholdPercent

func (o BudgetThresholdRuleOutput) ThresholdPercent() pulumi.Float64Output

Send an alert when this threshold is exceeded. This is a 1.0-based percentage, so 0.5 = 50%. Must be >= 0.

func (BudgetThresholdRuleOutput) ToBudgetThresholdRuleOutput

func (o BudgetThresholdRuleOutput) ToBudgetThresholdRuleOutput() BudgetThresholdRuleOutput

func (BudgetThresholdRuleOutput) ToBudgetThresholdRuleOutputWithContext

func (o BudgetThresholdRuleOutput) ToBudgetThresholdRuleOutputWithContext(ctx context.Context) BudgetThresholdRuleOutput

func (BudgetThresholdRuleOutput) ToOutput added in v6.65.1

type LookupAccountIamPolicyArgs added in v6.59.0

type LookupAccountIamPolicyArgs struct {
	// The billing account id.
	BillingAccountId string `pulumi:"billingAccountId"`
}

A collection of arguments for invoking getAccountIamPolicy.

type LookupAccountIamPolicyOutputArgs added in v6.59.0

type LookupAccountIamPolicyOutputArgs struct {
	// The billing account id.
	BillingAccountId pulumi.StringInput `pulumi:"billingAccountId"`
}

A collection of arguments for invoking getAccountIamPolicy.

func (LookupAccountIamPolicyOutputArgs) ElementType added in v6.59.0

type LookupAccountIamPolicyResult added in v6.59.0

type LookupAccountIamPolicyResult struct {
	BillingAccountId string `pulumi:"billingAccountId"`
	// (Computed) The etag of the IAM policy.
	Etag string `pulumi:"etag"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// (Computed) The policy data
	PolicyData string `pulumi:"policyData"`
}

A collection of values returned by getAccountIamPolicy.

func LookupAccountIamPolicy added in v6.59.0

func LookupAccountIamPolicy(ctx *pulumi.Context, args *LookupAccountIamPolicyArgs, opts ...pulumi.InvokeOption) (*LookupAccountIamPolicyResult, error)

Retrieves the current IAM policy data for a Billing Account.

## example

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/billing"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := billing.LookupAccountIamPolicy(ctx, &billing.LookupAccountIamPolicyArgs{
			BillingAccountId: "MEEP-MEEP-MEEP-MEEP-MEEP",
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type LookupAccountIamPolicyResultOutput added in v6.59.0

type LookupAccountIamPolicyResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getAccountIamPolicy.

func LookupAccountIamPolicyOutput added in v6.59.0

func (LookupAccountIamPolicyResultOutput) BillingAccountId added in v6.59.0

func (LookupAccountIamPolicyResultOutput) ElementType added in v6.59.0

func (LookupAccountIamPolicyResultOutput) Etag added in v6.59.0

(Computed) The etag of the IAM policy.

func (LookupAccountIamPolicyResultOutput) Id added in v6.59.0

The provider-assigned unique ID for this managed resource.

func (LookupAccountIamPolicyResultOutput) PolicyData added in v6.59.0

(Computed) The policy data

func (LookupAccountIamPolicyResultOutput) ToLookupAccountIamPolicyResultOutput added in v6.59.0

func (o LookupAccountIamPolicyResultOutput) ToLookupAccountIamPolicyResultOutput() LookupAccountIamPolicyResultOutput

func (LookupAccountIamPolicyResultOutput) ToLookupAccountIamPolicyResultOutputWithContext added in v6.59.0

func (o LookupAccountIamPolicyResultOutput) ToLookupAccountIamPolicyResultOutputWithContext(ctx context.Context) LookupAccountIamPolicyResultOutput

func (LookupAccountIamPolicyResultOutput) ToOutput added in v6.65.1

type ProjectInfo added in v6.64.0

type ProjectInfo struct {
	pulumi.CustomResourceState

	// The ID of the billing account associated with the project, if
	// any. Set to empty string to disable billing for the project.
	// For example, `"012345-567890-ABCDEF"` or `""`.
	//
	// ***
	BillingAccount pulumi.StringOutput `pulumi:"billingAccount"`
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project pulumi.StringOutput `pulumi:"project"`
}

Billing information for a project.

To get more information about ProjectInfo, see:

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

## Example Usage

## Import

ProjectInfo can be imported using any of these accepted formats

```sh

$ pulumi import gcp:billing/projectInfo:ProjectInfo default projects/{{project}}

```

```sh

$ pulumi import gcp:billing/projectInfo:ProjectInfo default {{project}}

```

func GetProjectInfo added in v6.64.0

func GetProjectInfo(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ProjectInfoState, opts ...pulumi.ResourceOption) (*ProjectInfo, error)

GetProjectInfo gets an existing ProjectInfo 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 NewProjectInfo added in v6.64.0

func NewProjectInfo(ctx *pulumi.Context,
	name string, args *ProjectInfoArgs, opts ...pulumi.ResourceOption) (*ProjectInfo, error)

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

func (*ProjectInfo) ElementType added in v6.64.0

func (*ProjectInfo) ElementType() reflect.Type

func (*ProjectInfo) ToOutput added in v6.65.1

func (i *ProjectInfo) ToOutput(ctx context.Context) pulumix.Output[*ProjectInfo]

func (*ProjectInfo) ToProjectInfoOutput added in v6.64.0

func (i *ProjectInfo) ToProjectInfoOutput() ProjectInfoOutput

func (*ProjectInfo) ToProjectInfoOutputWithContext added in v6.64.0

func (i *ProjectInfo) ToProjectInfoOutputWithContext(ctx context.Context) ProjectInfoOutput

type ProjectInfoArgs added in v6.64.0

type ProjectInfoArgs struct {
	// The ID of the billing account associated with the project, if
	// any. Set to empty string to disable billing for the project.
	// For example, `"012345-567890-ABCDEF"` or `""`.
	//
	// ***
	BillingAccount pulumi.StringInput
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project pulumi.StringPtrInput
}

The set of arguments for constructing a ProjectInfo resource.

func (ProjectInfoArgs) ElementType added in v6.64.0

func (ProjectInfoArgs) ElementType() reflect.Type

type ProjectInfoArray added in v6.64.0

type ProjectInfoArray []ProjectInfoInput

func (ProjectInfoArray) ElementType added in v6.64.0

func (ProjectInfoArray) ElementType() reflect.Type

func (ProjectInfoArray) ToOutput added in v6.65.1

func (ProjectInfoArray) ToProjectInfoArrayOutput added in v6.64.0

func (i ProjectInfoArray) ToProjectInfoArrayOutput() ProjectInfoArrayOutput

func (ProjectInfoArray) ToProjectInfoArrayOutputWithContext added in v6.64.0

func (i ProjectInfoArray) ToProjectInfoArrayOutputWithContext(ctx context.Context) ProjectInfoArrayOutput

type ProjectInfoArrayInput added in v6.64.0

type ProjectInfoArrayInput interface {
	pulumi.Input

	ToProjectInfoArrayOutput() ProjectInfoArrayOutput
	ToProjectInfoArrayOutputWithContext(context.Context) ProjectInfoArrayOutput
}

ProjectInfoArrayInput is an input type that accepts ProjectInfoArray and ProjectInfoArrayOutput values. You can construct a concrete instance of `ProjectInfoArrayInput` via:

ProjectInfoArray{ ProjectInfoArgs{...} }

type ProjectInfoArrayOutput added in v6.64.0

type ProjectInfoArrayOutput struct{ *pulumi.OutputState }

func (ProjectInfoArrayOutput) ElementType added in v6.64.0

func (ProjectInfoArrayOutput) ElementType() reflect.Type

func (ProjectInfoArrayOutput) Index added in v6.64.0

func (ProjectInfoArrayOutput) ToOutput added in v6.65.1

func (ProjectInfoArrayOutput) ToProjectInfoArrayOutput added in v6.64.0

func (o ProjectInfoArrayOutput) ToProjectInfoArrayOutput() ProjectInfoArrayOutput

func (ProjectInfoArrayOutput) ToProjectInfoArrayOutputWithContext added in v6.64.0

func (o ProjectInfoArrayOutput) ToProjectInfoArrayOutputWithContext(ctx context.Context) ProjectInfoArrayOutput

type ProjectInfoInput added in v6.64.0

type ProjectInfoInput interface {
	pulumi.Input

	ToProjectInfoOutput() ProjectInfoOutput
	ToProjectInfoOutputWithContext(ctx context.Context) ProjectInfoOutput
}

type ProjectInfoMap added in v6.64.0

type ProjectInfoMap map[string]ProjectInfoInput

func (ProjectInfoMap) ElementType added in v6.64.0

func (ProjectInfoMap) ElementType() reflect.Type

func (ProjectInfoMap) ToOutput added in v6.65.1

func (ProjectInfoMap) ToProjectInfoMapOutput added in v6.64.0

func (i ProjectInfoMap) ToProjectInfoMapOutput() ProjectInfoMapOutput

func (ProjectInfoMap) ToProjectInfoMapOutputWithContext added in v6.64.0

func (i ProjectInfoMap) ToProjectInfoMapOutputWithContext(ctx context.Context) ProjectInfoMapOutput

type ProjectInfoMapInput added in v6.64.0

type ProjectInfoMapInput interface {
	pulumi.Input

	ToProjectInfoMapOutput() ProjectInfoMapOutput
	ToProjectInfoMapOutputWithContext(context.Context) ProjectInfoMapOutput
}

ProjectInfoMapInput is an input type that accepts ProjectInfoMap and ProjectInfoMapOutput values. You can construct a concrete instance of `ProjectInfoMapInput` via:

ProjectInfoMap{ "key": ProjectInfoArgs{...} }

type ProjectInfoMapOutput added in v6.64.0

type ProjectInfoMapOutput struct{ *pulumi.OutputState }

func (ProjectInfoMapOutput) ElementType added in v6.64.0

func (ProjectInfoMapOutput) ElementType() reflect.Type

func (ProjectInfoMapOutput) MapIndex added in v6.64.0

func (ProjectInfoMapOutput) ToOutput added in v6.65.1

func (ProjectInfoMapOutput) ToProjectInfoMapOutput added in v6.64.0

func (o ProjectInfoMapOutput) ToProjectInfoMapOutput() ProjectInfoMapOutput

func (ProjectInfoMapOutput) ToProjectInfoMapOutputWithContext added in v6.64.0

func (o ProjectInfoMapOutput) ToProjectInfoMapOutputWithContext(ctx context.Context) ProjectInfoMapOutput

type ProjectInfoOutput added in v6.64.0

type ProjectInfoOutput struct{ *pulumi.OutputState }

func (ProjectInfoOutput) BillingAccount added in v6.64.0

func (o ProjectInfoOutput) BillingAccount() pulumi.StringOutput

The ID of the billing account associated with the project, if any. Set to empty string to disable billing for the project. For example, `"012345-567890-ABCDEF"` or `""`.

***

func (ProjectInfoOutput) ElementType added in v6.64.0

func (ProjectInfoOutput) ElementType() reflect.Type

func (ProjectInfoOutput) Project added in v6.64.0

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

func (ProjectInfoOutput) ToOutput added in v6.65.1

func (ProjectInfoOutput) ToProjectInfoOutput added in v6.64.0

func (o ProjectInfoOutput) ToProjectInfoOutput() ProjectInfoOutput

func (ProjectInfoOutput) ToProjectInfoOutputWithContext added in v6.64.0

func (o ProjectInfoOutput) ToProjectInfoOutputWithContext(ctx context.Context) ProjectInfoOutput

type ProjectInfoState added in v6.64.0

type ProjectInfoState struct {
	// The ID of the billing account associated with the project, if
	// any. Set to empty string to disable billing for the project.
	// For example, `"012345-567890-ABCDEF"` or `""`.
	//
	// ***
	BillingAccount pulumi.StringPtrInput
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project pulumi.StringPtrInput
}

func (ProjectInfoState) ElementType added in v6.64.0

func (ProjectInfoState) ElementType() reflect.Type

type SubAccount

type SubAccount struct {
	pulumi.CustomResourceState

	// The billing account id.
	BillingAccountId pulumi.StringOutput `pulumi:"billingAccountId"`
	// If set to "RENAME_ON_DESTROY" the billing account displayName
	// will be changed to "Destroyed" along with a timestamp.  If set to "" this will not occur.
	// Default is "".
	DeletionPolicy pulumi.StringPtrOutput `pulumi:"deletionPolicy"`
	// The display name of the billing account.
	DisplayName pulumi.StringOutput `pulumi:"displayName"`
	// The name of the master billing account that the subaccount
	// will be created under in the form `{billing_account_id}` or `billingAccounts/{billing_account_id}`.
	MasterBillingAccount pulumi.StringOutput `pulumi:"masterBillingAccount"`
	// The resource name of the billing account in the form `billingAccounts/{billing_account_id}`.
	Name pulumi.StringOutput `pulumi:"name"`
	// `true` if the billing account is open, `false` if the billing account is closed.
	Open pulumi.BoolOutput `pulumi:"open"`
}

Allows creation and management of a Google Cloud Billing Subaccount.

!> **WARNING:** Deleting this resource will not delete or close the billing subaccount.

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/billing"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := billing.NewSubAccount(ctx, "subaccount", &billing.SubAccountArgs{
			DisplayName:          pulumi.String("My Billing Account"),
			MasterBillingAccount: pulumi.String("012345-567890-ABCDEF"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Billing Subaccounts can be imported using any of these accepted formats:

```sh

$ pulumi import gcp:billing/subAccount:SubAccount default billingAccounts/{billing_account_id}

```

func GetSubAccount

func GetSubAccount(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *SubAccountState, opts ...pulumi.ResourceOption) (*SubAccount, error)

GetSubAccount gets an existing SubAccount 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 NewSubAccount

func NewSubAccount(ctx *pulumi.Context,
	name string, args *SubAccountArgs, opts ...pulumi.ResourceOption) (*SubAccount, error)

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

func (*SubAccount) ElementType

func (*SubAccount) ElementType() reflect.Type

func (*SubAccount) ToOutput added in v6.65.1

func (i *SubAccount) ToOutput(ctx context.Context) pulumix.Output[*SubAccount]

func (*SubAccount) ToSubAccountOutput

func (i *SubAccount) ToSubAccountOutput() SubAccountOutput

func (*SubAccount) ToSubAccountOutputWithContext

func (i *SubAccount) ToSubAccountOutputWithContext(ctx context.Context) SubAccountOutput

type SubAccountArgs

type SubAccountArgs struct {
	// If set to "RENAME_ON_DESTROY" the billing account displayName
	// will be changed to "Destroyed" along with a timestamp.  If set to "" this will not occur.
	// Default is "".
	DeletionPolicy pulumi.StringPtrInput
	// The display name of the billing account.
	DisplayName pulumi.StringInput
	// The name of the master billing account that the subaccount
	// will be created under in the form `{billing_account_id}` or `billingAccounts/{billing_account_id}`.
	MasterBillingAccount pulumi.StringInput
}

The set of arguments for constructing a SubAccount resource.

func (SubAccountArgs) ElementType

func (SubAccountArgs) ElementType() reflect.Type

type SubAccountArray

type SubAccountArray []SubAccountInput

func (SubAccountArray) ElementType

func (SubAccountArray) ElementType() reflect.Type

func (SubAccountArray) ToOutput added in v6.65.1

func (SubAccountArray) ToSubAccountArrayOutput

func (i SubAccountArray) ToSubAccountArrayOutput() SubAccountArrayOutput

func (SubAccountArray) ToSubAccountArrayOutputWithContext

func (i SubAccountArray) ToSubAccountArrayOutputWithContext(ctx context.Context) SubAccountArrayOutput

type SubAccountArrayInput

type SubAccountArrayInput interface {
	pulumi.Input

	ToSubAccountArrayOutput() SubAccountArrayOutput
	ToSubAccountArrayOutputWithContext(context.Context) SubAccountArrayOutput
}

SubAccountArrayInput is an input type that accepts SubAccountArray and SubAccountArrayOutput values. You can construct a concrete instance of `SubAccountArrayInput` via:

SubAccountArray{ SubAccountArgs{...} }

type SubAccountArrayOutput

type SubAccountArrayOutput struct{ *pulumi.OutputState }

func (SubAccountArrayOutput) ElementType

func (SubAccountArrayOutput) ElementType() reflect.Type

func (SubAccountArrayOutput) Index

func (SubAccountArrayOutput) ToOutput added in v6.65.1

func (SubAccountArrayOutput) ToSubAccountArrayOutput

func (o SubAccountArrayOutput) ToSubAccountArrayOutput() SubAccountArrayOutput

func (SubAccountArrayOutput) ToSubAccountArrayOutputWithContext

func (o SubAccountArrayOutput) ToSubAccountArrayOutputWithContext(ctx context.Context) SubAccountArrayOutput

type SubAccountInput

type SubAccountInput interface {
	pulumi.Input

	ToSubAccountOutput() SubAccountOutput
	ToSubAccountOutputWithContext(ctx context.Context) SubAccountOutput
}

type SubAccountMap

type SubAccountMap map[string]SubAccountInput

func (SubAccountMap) ElementType

func (SubAccountMap) ElementType() reflect.Type

func (SubAccountMap) ToOutput added in v6.65.1

func (SubAccountMap) ToSubAccountMapOutput

func (i SubAccountMap) ToSubAccountMapOutput() SubAccountMapOutput

func (SubAccountMap) ToSubAccountMapOutputWithContext

func (i SubAccountMap) ToSubAccountMapOutputWithContext(ctx context.Context) SubAccountMapOutput

type SubAccountMapInput

type SubAccountMapInput interface {
	pulumi.Input

	ToSubAccountMapOutput() SubAccountMapOutput
	ToSubAccountMapOutputWithContext(context.Context) SubAccountMapOutput
}

SubAccountMapInput is an input type that accepts SubAccountMap and SubAccountMapOutput values. You can construct a concrete instance of `SubAccountMapInput` via:

SubAccountMap{ "key": SubAccountArgs{...} }

type SubAccountMapOutput

type SubAccountMapOutput struct{ *pulumi.OutputState }

func (SubAccountMapOutput) ElementType

func (SubAccountMapOutput) ElementType() reflect.Type

func (SubAccountMapOutput) MapIndex

func (SubAccountMapOutput) ToOutput added in v6.65.1

func (SubAccountMapOutput) ToSubAccountMapOutput

func (o SubAccountMapOutput) ToSubAccountMapOutput() SubAccountMapOutput

func (SubAccountMapOutput) ToSubAccountMapOutputWithContext

func (o SubAccountMapOutput) ToSubAccountMapOutputWithContext(ctx context.Context) SubAccountMapOutput

type SubAccountOutput

type SubAccountOutput struct{ *pulumi.OutputState }

func (SubAccountOutput) BillingAccountId added in v6.23.0

func (o SubAccountOutput) BillingAccountId() pulumi.StringOutput

The billing account id.

func (SubAccountOutput) DeletionPolicy added in v6.23.0

func (o SubAccountOutput) DeletionPolicy() pulumi.StringPtrOutput

If set to "RENAME_ON_DESTROY" the billing account displayName will be changed to "Destroyed" along with a timestamp. If set to "" this will not occur. Default is "".

func (SubAccountOutput) DisplayName added in v6.23.0

func (o SubAccountOutput) DisplayName() pulumi.StringOutput

The display name of the billing account.

func (SubAccountOutput) ElementType

func (SubAccountOutput) ElementType() reflect.Type

func (SubAccountOutput) MasterBillingAccount added in v6.23.0

func (o SubAccountOutput) MasterBillingAccount() pulumi.StringOutput

The name of the master billing account that the subaccount will be created under in the form `{billing_account_id}` or `billingAccounts/{billing_account_id}`.

func (SubAccountOutput) Name added in v6.23.0

The resource name of the billing account in the form `billingAccounts/{billing_account_id}`.

func (SubAccountOutput) Open added in v6.23.0

`true` if the billing account is open, `false` if the billing account is closed.

func (SubAccountOutput) ToOutput added in v6.65.1

func (SubAccountOutput) ToSubAccountOutput

func (o SubAccountOutput) ToSubAccountOutput() SubAccountOutput

func (SubAccountOutput) ToSubAccountOutputWithContext

func (o SubAccountOutput) ToSubAccountOutputWithContext(ctx context.Context) SubAccountOutput

type SubAccountState

type SubAccountState struct {
	// The billing account id.
	BillingAccountId pulumi.StringPtrInput
	// If set to "RENAME_ON_DESTROY" the billing account displayName
	// will be changed to "Destroyed" along with a timestamp.  If set to "" this will not occur.
	// Default is "".
	DeletionPolicy pulumi.StringPtrInput
	// The display name of the billing account.
	DisplayName pulumi.StringPtrInput
	// The name of the master billing account that the subaccount
	// will be created under in the form `{billing_account_id}` or `billingAccounts/{billing_account_id}`.
	MasterBillingAccount pulumi.StringPtrInput
	// The resource name of the billing account in the form `billingAccounts/{billing_account_id}`.
	Name pulumi.StringPtrInput
	// `true` if the billing account is open, `false` if the billing account is closed.
	Open pulumi.BoolPtrInput
}

func (SubAccountState) ElementType

func (SubAccountState) ElementType() reflect.Type

Jump to

Keyboard shortcuts

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