Documentation
¶
Index ¶
- type Folder
- func (r *Folder) CreateTime() *pulumi.StringOutput
- func (r *Folder) DisplayName() *pulumi.StringOutput
- func (r *Folder) ID() *pulumi.IDOutput
- func (r *Folder) LifecycleState() *pulumi.StringOutput
- func (r *Folder) Name() *pulumi.StringOutput
- func (r *Folder) Parent() *pulumi.StringOutput
- func (r *Folder) URN() *pulumi.URNOutput
- type FolderArgs
- type FolderState
- type GetActiveFolderArgs
- type GetActiveFolderResult
- type GetBillingAccountArgs
- type GetBillingAccountResult
- type GetClientConfigResult
- type GetFolderArgs
- type GetFolderResult
- type GetIAMPolicyArgs
- type GetIAMPolicyResult
- type GetOrganizationArgs
- type GetOrganizationResult
- type GetProjectArgs
- type GetProjectResult
- type GetProjectServicesArgs
- type GetProjectServicesResult
- type IAMBinding
- type IAMBindingArgs
- type IAMBindingState
- type IAMCustomRole
- func (r *IAMCustomRole) Deleted() *pulumi.BoolOutput
- func (r *IAMCustomRole) Description() *pulumi.StringOutput
- func (r *IAMCustomRole) ID() *pulumi.IDOutput
- func (r *IAMCustomRole) OrgId() *pulumi.StringOutput
- func (r *IAMCustomRole) Permissions() *pulumi.ArrayOutput
- func (r *IAMCustomRole) RoleId() *pulumi.StringOutput
- func (r *IAMCustomRole) Stage() *pulumi.StringOutput
- func (r *IAMCustomRole) Title() *pulumi.StringOutput
- func (r *IAMCustomRole) URN() *pulumi.URNOutput
- type IAMCustomRoleArgs
- type IAMCustomRoleState
- type IAMMember
- type IAMMemberArgs
- type IAMMemberState
- type IAMPolicy
- type IAMPolicyArgs
- type IAMPolicyState
- type Policy
- func (r *Policy) BooleanPolicy() *pulumi.Output
- func (r *Policy) Constraint() *pulumi.StringOutput
- func (r *Policy) Etag() *pulumi.StringOutput
- func (r *Policy) ID() *pulumi.IDOutput
- func (r *Policy) ListPolicy() *pulumi.Output
- func (r *Policy) OrgId() *pulumi.StringOutput
- func (r *Policy) RestorePolicy() *pulumi.Output
- func (r *Policy) URN() *pulumi.URNOutput
- func (r *Policy) UpdateTime() *pulumi.StringOutput
- func (r *Policy) Version() *pulumi.IntOutput
- type PolicyArgs
- type PolicyState
- type Project
- func (r *Project) AppEngine() *pulumi.Output
- func (r *Project) AutoCreateNetwork() *pulumi.BoolOutput
- func (r *Project) BillingAccount() *pulumi.StringOutput
- func (r *Project) FolderId() *pulumi.StringOutput
- func (r *Project) ID() *pulumi.IDOutput
- func (r *Project) Labels() *pulumi.MapOutput
- func (r *Project) Name() *pulumi.StringOutput
- func (r *Project) Number() *pulumi.StringOutput
- func (r *Project) OrgId() *pulumi.StringOutput
- func (r *Project) ProjectId() *pulumi.StringOutput
- func (r *Project) SkipDelete() *pulumi.BoolOutput
- func (r *Project) URN() *pulumi.URNOutput
- type ProjectArgs
- type ProjectState
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Folder ¶
type Folder struct {
// contains filtered or unexported fields
}
Allows management of a Google Cloud Platform folder. For more information see [the official documentation](https://cloud.google.com/resource-manager/docs/creating-managing-folders) and [API](https://cloud.google.com/resource-manager/reference/rest/v2/folders).
A folder can contain projects, other folders, or a combination of both. You can use folders to group projects under an organization in a hierarchy. For example, your organization might contain multiple departments, each with its own set of Cloud Platform resources. Folders allows you to group these resources on a per-department basis. Folders are used to group resources that share common IAM policies.
Folders created live inside an Organization. See the [Organization documentation](https://cloud.google.com/resource-manager/docs/quickstarts) for more details.
The service account used to run Terraform when creating a `google_folder` resource must have `roles/resourcemanager.folderCreator`. See the [Access Control for Folders Using IAM](https://cloud.google.com/resource-manager/docs/access-control-folders) doc for more information.
func GetFolder ¶
func GetFolder(ctx *pulumi.Context, name string, id pulumi.ID, state *FolderState, opts ...pulumi.ResourceOpt) (*Folder, error)
GetFolder gets an existing Folder resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).
func NewFolder ¶
func NewFolder(ctx *pulumi.Context, name string, args *FolderArgs, opts ...pulumi.ResourceOpt) (*Folder, error)
NewFolder registers a new resource with the given unique name, arguments, and options.
func (*Folder) CreateTime ¶
func (r *Folder) CreateTime() *pulumi.StringOutput
Timestamp when the Folder was created. Assigned by the server. A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds. Example: "2014-10-02T15:01:23.045123456Z".
func (*Folder) DisplayName ¶
func (r *Folder) DisplayName() *pulumi.StringOutput
The folder’s display name. A folder’s display name must be unique amongst its siblings, e.g. no two folders with the same parent can share the same display name. The display name must start and end with a letter or digit, may contain letters, digits, spaces, hyphens and underscores and can be no longer than 30 characters.
func (*Folder) LifecycleState ¶
func (r *Folder) LifecycleState() *pulumi.StringOutput
The lifecycle state of the folder such as `ACTIVE` or `DELETE_REQUESTED`.
func (*Folder) Name ¶
func (r *Folder) Name() *pulumi.StringOutput
The resource name of the Folder. Its format is folders/{folder_id}.
func (*Folder) Parent ¶
func (r *Folder) Parent() *pulumi.StringOutput
The resource name of the parent Folder or Organization. Must be of the form `folders/{folder_id}` or `organizations/{org_id}`.
type FolderArgs ¶
type FolderArgs struct { // The folder’s display name. // A folder’s display name must be unique amongst its siblings, e.g. no two folders with the same parent can share the same display name. The display name must start and end with a letter or digit, may contain letters, digits, spaces, hyphens and underscores and can be no longer than 30 characters. DisplayName interface{} // The resource name of the parent Folder or Organization. // Must be of the form `folders/{folder_id}` or `organizations/{org_id}`. Parent interface{} }
The set of arguments for constructing a Folder resource.
type FolderState ¶
type FolderState struct { // Timestamp when the Folder was created. Assigned by the server. // A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds. Example: "2014-10-02T15:01:23.045123456Z". CreateTime interface{} // The folder’s display name. // A folder’s display name must be unique amongst its siblings, e.g. no two folders with the same parent can share the same display name. The display name must start and end with a letter or digit, may contain letters, digits, spaces, hyphens and underscores and can be no longer than 30 characters. DisplayName interface{} // The lifecycle state of the folder such as `ACTIVE` or `DELETE_REQUESTED`. LifecycleState interface{} // The resource name of the Folder. Its format is folders/{folder_id}. Name interface{} // The resource name of the parent Folder or Organization. // Must be of the form `folders/{folder_id}` or `organizations/{org_id}`. Parent interface{} }
Input properties used for looking up and filtering Folder resources.
type GetActiveFolderArgs ¶
type GetActiveFolderArgs struct { // The folder's display name. DisplayName interface{} // The resource name of the parent Folder or Organization. Parent interface{} }
A collection of arguments for invoking getActiveFolder.
type GetActiveFolderResult ¶
type GetActiveFolderResult struct { // The resource name of the Folder. This uniquely identifies the folder. Name interface{} // id is the provider-assigned unique ID for this managed resource. Id interface{} }
A collection of values returned by getActiveFolder.
func LookupActiveFolder ¶
func LookupActiveFolder(ctx *pulumi.Context, args *GetActiveFolderArgs) (*GetActiveFolderResult, error)
Get an active folder within GCP by `display_name` and `parent`.
type GetBillingAccountArgs ¶
type GetBillingAccountArgs struct { // The name of the billing account in the form `{billing_account_id}` or `billingAccounts/{billing_account_id}`. BillingAccount interface{} // The display name of the billing account. DisplayName interface{} // `true` if the billing account is open, `false` if the billing account is closed. Open interface{} }
A collection of arguments for invoking getBillingAccount.
type GetBillingAccountResult ¶
type GetBillingAccountResult struct { DisplayName interface{} // The resource name of the billing account in the form `billingAccounts/{billing_account_id}`. Name interface{} Open interface{} // The IDs of any projects associated with the billing account. ProjectIds interface{} // id is the provider-assigned unique ID for this managed resource. Id interface{} }
A collection of values returned by getBillingAccount.
func LookupBillingAccount ¶
func LookupBillingAccount(ctx *pulumi.Context, args *GetBillingAccountArgs) (*GetBillingAccountResult, error)
Use this data source to get information about a Google Billing Account.
```hcl
data "google_billing_account" "acct" { display_name = "My Billing Account" open = true }
resource "google_project" "my_project" { name = "My Project" project_id = "your-project-id" org_id = "1234567" billing_account = "${data.google_billing_account.acct.id}" }
```
type GetClientConfigResult ¶
type GetClientConfigResult struct { // The OAuth2 access token used by the client to authenticate against the Google Cloud API. AccessToken interface{} // The ID of the project to apply any resources to. Project interface{} // The region to operate under. Region interface{} // id is the provider-assigned unique ID for this managed resource. Id interface{} }
A collection of values returned by getClientConfig.
func LookupClientConfig ¶
func LookupClientConfig(ctx *pulumi.Context) (*GetClientConfigResult, error)
Use this data source to access the configuration of the Google Cloud provider.
type GetFolderArgs ¶ added in v0.15.0
type GetFolderArgs struct { // The name of the Folder in the form `{folder_id}` or `folders/{folder_id}`. Folder interface{} // `true` to find the organization that the folder belongs, `false` to avoid the lookup. It searches up the tree. (defaults to `false`) LookupOrganization interface{} }
A collection of arguments for invoking getFolder.
type GetFolderResult ¶ added in v0.15.0
type GetFolderResult struct { // Timestamp when the Organization was created. A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds. Example: "2014-10-02T15:01:23.045123456Z". CreateTime interface{} // The folder's display name. DisplayName interface{} // The Folder's current lifecycle state. LifecycleState interface{} // The resource name of the Folder in the form `folders/{organization_id}`. Name interface{} // If `lookup_organization` is enable, the resource name of the Organization that the folder belongs. Organization interface{} // The resource name of the parent Folder or Organization. Parent interface{} // id is the provider-assigned unique ID for this managed resource. Id interface{} }
A collection of values returned by getFolder.
func LookupFolder ¶ added in v0.15.0
func LookupFolder(ctx *pulumi.Context, args *GetFolderArgs) (*GetFolderResult, error)
Use this data source to get information about a Google Cloud Folder.
```hcl # Get folder by id
data "google_folder" "my_folder_1" { folder = "folders/12345" lookup_organization = true }
Search by fields ¶
data "google_folder" "my_folder_2" { folder = "folders/23456" }
output "my_folder_1_organization" { value = "${data.google_folder.my_folder_1.organization}" }
output "my_folder_2_parent" { value = "${data.google_folder.my_folder_2.parent}" }
```
type GetIAMPolicyArgs ¶
type GetIAMPolicyArgs struct { // A nested configuration block (described below) // defining a binding to be included in the policy document. Multiple // `binding` arguments are supported. Bindings interface{} }
A collection of arguments for invoking getIAMPolicy.
type GetIAMPolicyResult ¶
type GetIAMPolicyResult struct { // The above bindings serialized in a format suitable for // referencing from a resource that supports IAM. PolicyData interface{} // id is the provider-assigned unique ID for this managed resource. Id interface{} }
A collection of values returned by getIAMPolicy.
func LookupIAMPolicy ¶
func LookupIAMPolicy(ctx *pulumi.Context, args *GetIAMPolicyArgs) (*GetIAMPolicyResult, error)
Generates an IAM policy document that may be referenced by and applied to other Google Cloud Platform resources, such as the `google_project` resource.
```
data "google_iam_policy" "admin" { binding { role = "roles/compute.instanceAdmin" members = [ "serviceAccount:your-custom-sa@your-project.iam.gserviceaccount.com", ] } binding { role = "roles/storage.objectViewer" members = [ "user:jane@example.com", ] } }
```
This data source is used to define IAM policies to apply to other resources. Currently, defining a policy through a datasource and referencing that policy from another resource is the only way to apply an IAM policy to a resource.
**Note:** Several restrictions apply when setting IAM policies through this API. See the [setIamPolicy docs](https://cloud.google.com/resource-manager/reference/rest/v1/projects/setIamPolicy) for a list of these restrictions.
type GetOrganizationArgs ¶
type GetOrganizationArgs struct { // The domain name of the Organization. Domain interface{} // The name of the Organization in the form `{organization_id}` or `organizations/{organization_id}`. Organization interface{} }
A collection of arguments for invoking getOrganization.
type GetOrganizationResult ¶
type GetOrganizationResult struct { // Timestamp when the Organization was created. A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds. Example: "2014-10-02T15:01:23.045123456Z". CreateTime interface{} // The Google for Work customer ID of the Organization. DirectoryCustomerId interface{} Domain interface{} // The Organization's current lifecycle state. LifecycleState interface{} // The resource name of the Organization in the form `organizations/{organization_id}`. Name interface{} // id is the provider-assigned unique ID for this managed resource. Id interface{} }
A collection of values returned by getOrganization.
func LookupOrganization ¶
func LookupOrganization(ctx *pulumi.Context, args *GetOrganizationArgs) (*GetOrganizationResult, error)
Use this data source to get information about a Google Cloud Organization.
```hcl
data "google_organization" "org" { domain = "example.com" }
resource "google_folder" "sales" { display_name = "Sales" parent = "${data.google_organization.org.name}" }
```
type GetProjectArgs ¶
type GetProjectArgs struct {
// The project ID. If it is not provided, the provider project is used.
ProjectId interface{}
}
A collection of arguments for invoking getProject.
type GetProjectResult ¶
type GetProjectResult struct { AppEngines interface{} AutoCreateNetwork interface{} BillingAccount interface{} FolderId interface{} Labels interface{} Name interface{} Number interface{} OrgId interface{} PolicyData interface{} PolicyEtag interface{} SkipDelete interface{} // id is the provider-assigned unique ID for this managed resource. Id interface{} }
A collection of values returned by getProject.
func LookupProject ¶
func LookupProject(ctx *pulumi.Context, args *GetProjectArgs) (*GetProjectResult, error)
Use this data source to get project details. For more information see [API](https://cloud.google.com/resource-manager/reference/rest/v1/projects#Project)
type GetProjectServicesArgs ¶ added in v0.16.0
type GetProjectServicesArgs struct {
// The project ID.
Project interface{}
}
A collection of arguments for invoking getProjectServices.
type GetProjectServicesResult ¶ added in v0.16.0
type GetProjectServicesResult struct { DisableOnDestroy interface{} Services interface{} // id is the provider-assigned unique ID for this managed resource. Id interface{} }
A collection of values returned by getProjectServices.
func LookupProjectServices ¶ added in v0.16.0
func LookupProjectServices(ctx *pulumi.Context, args *GetProjectServicesArgs) (*GetProjectServicesResult, error)
Use this data source to get details on the enabled project services.
For a list of services available, visit the [API library page](https://console.cloud.google.com/apis/library) or run `gcloud services list`.
type IAMBinding ¶
type IAMBinding struct {
// contains filtered or unexported fields
}
Allows creation and management of a single binding within IAM policy for an existing Google Cloud Platform Organization.
> **Note:** This resource __must not__ be used in conjunction with
`google_organization_iam_member` for the __same role__ or they will fight over what your policy should be.
func GetIAMBinding ¶
func GetIAMBinding(ctx *pulumi.Context, name string, id pulumi.ID, state *IAMBindingState, opts ...pulumi.ResourceOpt) (*IAMBinding, error)
GetIAMBinding gets an existing IAMBinding resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).
func NewIAMBinding ¶
func NewIAMBinding(ctx *pulumi.Context, name string, args *IAMBindingArgs, opts ...pulumi.ResourceOpt) (*IAMBinding, error)
NewIAMBinding registers a new resource with the given unique name, arguments, and options.
func (*IAMBinding) Etag ¶
func (r *IAMBinding) Etag() *pulumi.StringOutput
(Computed) The etag of the organization's IAM policy.
func (*IAMBinding) ID ¶
func (r *IAMBinding) ID() *pulumi.IDOutput
ID is this resource's unique identifier assigned by its provider.
func (*IAMBinding) Members ¶
func (r *IAMBinding) Members() *pulumi.ArrayOutput
A list of users that the role should apply to.
func (*IAMBinding) OrgId ¶
func (r *IAMBinding) OrgId() *pulumi.StringOutput
The numeric ID of the organization in which you want to create a custom role.
func (*IAMBinding) Role ¶
func (r *IAMBinding) Role() *pulumi.StringOutput
The role that should be applied. Only one `google_organization_iam_binding` can be used per role. Note that custom roles must be of the format `[projects|organizations]/{parent-name}/roles/{role-name}`.
func (*IAMBinding) URN ¶
func (r *IAMBinding) URN() *pulumi.URNOutput
URN is this resource's unique name assigned by Pulumi.
type IAMBindingArgs ¶
type IAMBindingArgs struct { // A list of users that the role should apply to. Members interface{} // The numeric ID of the organization in which you want to create a custom role. OrgId interface{} // The role that should be applied. Only one // `google_organization_iam_binding` can be used per role. Note that custom roles must be of the format // `[projects|organizations]/{parent-name}/roles/{role-name}`. Role interface{} }
The set of arguments for constructing a IAMBinding resource.
type IAMBindingState ¶
type IAMBindingState struct { // (Computed) The etag of the organization's IAM policy. Etag interface{} // A list of users that the role should apply to. Members interface{} // The numeric ID of the organization in which you want to create a custom role. OrgId interface{} // The role that should be applied. Only one // `google_organization_iam_binding` can be used per role. Note that custom roles must be of the format // `[projects|organizations]/{parent-name}/roles/{role-name}`. Role interface{} }
Input properties used for looking up and filtering IAMBinding resources.
type IAMCustomRole ¶
type IAMCustomRole struct {
// contains filtered or unexported fields
}
Allows management of a customized Cloud IAM organization role. For more information see [the official documentation](https://cloud.google.com/iam/docs/understanding-custom-roles) and [API](https://cloud.google.com/iam/reference/rest/v1/organizations.roles).
> **Warning:** Note that custom roles in GCP have the concept of a soft-delete. There are two issues that may arise
from this and how roles are propagated. 1) creating a role may involve undeleting and then updating a role with the same name, possibly causing confusing behavior between undelete and update. 2) A deleted role is permanently deleted after 7 days, but it can take up to 30 more days (i.e. between 7 and 37 days after deletion) before the role name is made available again. This means a deleted role that has been deleted for more than 7 days cannot be changed at all by Terraform, and new roles cannot share that name.
func GetIAMCustomRole ¶
func GetIAMCustomRole(ctx *pulumi.Context, name string, id pulumi.ID, state *IAMCustomRoleState, opts ...pulumi.ResourceOpt) (*IAMCustomRole, error)
GetIAMCustomRole gets an existing IAMCustomRole resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).
func NewIAMCustomRole ¶
func NewIAMCustomRole(ctx *pulumi.Context, name string, args *IAMCustomRoleArgs, opts ...pulumi.ResourceOpt) (*IAMCustomRole, error)
NewIAMCustomRole registers a new resource with the given unique name, arguments, and options.
func (*IAMCustomRole) Deleted ¶
func (r *IAMCustomRole) Deleted() *pulumi.BoolOutput
The current deleted state of the role. Defaults to `false`.
func (*IAMCustomRole) Description ¶
func (r *IAMCustomRole) Description() *pulumi.StringOutput
A human-readable description for the role.
func (*IAMCustomRole) ID ¶
func (r *IAMCustomRole) ID() *pulumi.IDOutput
ID is this resource's unique identifier assigned by its provider.
func (*IAMCustomRole) OrgId ¶
func (r *IAMCustomRole) OrgId() *pulumi.StringOutput
The numeric ID of the organization in which you want to create a custom role.
func (*IAMCustomRole) Permissions ¶
func (r *IAMCustomRole) Permissions() *pulumi.ArrayOutput
The names of the permissions this role grants when bound in an IAM policy. At least one permission must be specified.
func (*IAMCustomRole) RoleId ¶
func (r *IAMCustomRole) RoleId() *pulumi.StringOutput
The role id to use for this role.
func (*IAMCustomRole) Stage ¶
func (r *IAMCustomRole) Stage() *pulumi.StringOutput
The current launch stage of the role. Defaults to `GA`. List of possible stages is [here](https://cloud.google.com/iam/reference/rest/v1/organizations.roles#Role.RoleLaunchStage).
func (*IAMCustomRole) Title ¶
func (r *IAMCustomRole) Title() *pulumi.StringOutput
A human-readable title for the role.
func (*IAMCustomRole) URN ¶
func (r *IAMCustomRole) URN() *pulumi.URNOutput
URN is this resource's unique name assigned by Pulumi.
type IAMCustomRoleArgs ¶
type IAMCustomRoleArgs struct { // The current deleted state of the role. Defaults to `false`. Deleted interface{} // A human-readable description for the role. Description interface{} // The numeric ID of the organization in which you want to create a custom role. OrgId interface{} // The names of the permissions this role grants when bound in an IAM policy. At least one permission must be specified. Permissions interface{} // The role id to use for this role. RoleId interface{} // The current launch stage of the role. // Defaults to `GA`. // List of possible stages is [here](https://cloud.google.com/iam/reference/rest/v1/organizations.roles#Role.RoleLaunchStage). Stage interface{} // A human-readable title for the role. Title interface{} }
The set of arguments for constructing a IAMCustomRole resource.
type IAMCustomRoleState ¶
type IAMCustomRoleState struct { // The current deleted state of the role. Defaults to `false`. Deleted interface{} // A human-readable description for the role. Description interface{} // The numeric ID of the organization in which you want to create a custom role. OrgId interface{} // The names of the permissions this role grants when bound in an IAM policy. At least one permission must be specified. Permissions interface{} // The role id to use for this role. RoleId interface{} // The current launch stage of the role. // Defaults to `GA`. // List of possible stages is [here](https://cloud.google.com/iam/reference/rest/v1/organizations.roles#Role.RoleLaunchStage). Stage interface{} // A human-readable title for the role. Title interface{} }
Input properties used for looking up and filtering IAMCustomRole resources.
type IAMMember ¶
type IAMMember struct {
// contains filtered or unexported fields
}
Allows creation and management of a single member for a single binding within the IAM policy for an existing Google Cloud Platform Organization.
> **Note:** This resource __must not__ be used in conjunction with
`google_organization_iam_binding` for the __same role__ or they will fight over what your policy should be.
func GetIAMMember ¶
func GetIAMMember(ctx *pulumi.Context, name string, id pulumi.ID, state *IAMMemberState, opts ...pulumi.ResourceOpt) (*IAMMember, error)
GetIAMMember gets an existing IAMMember resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).
func NewIAMMember ¶
func NewIAMMember(ctx *pulumi.Context, name string, args *IAMMemberArgs, opts ...pulumi.ResourceOpt) (*IAMMember, error)
NewIAMMember registers a new resource with the given unique name, arguments, and options.
func (*IAMMember) Etag ¶
func (r *IAMMember) Etag() *pulumi.StringOutput
(Computed) The etag of the organization's IAM policy.
func (*IAMMember) Member ¶
func (r *IAMMember) Member() *pulumi.StringOutput
The user that the role should apply to.
func (*IAMMember) OrgId ¶
func (r *IAMMember) OrgId() *pulumi.StringOutput
The numeric ID of the organization in which you want to create a custom role.
func (*IAMMember) Role ¶
func (r *IAMMember) Role() *pulumi.StringOutput
The role that should be applied. Note that custom roles must be of the format `[projects|organizations]/{parent-name}/roles/{role-name}`.
type IAMMemberArgs ¶
type IAMMemberArgs struct { // The user that the role should apply to. Member interface{} // The numeric ID of the organization in which you want to create a custom role. OrgId interface{} // The role that should be applied. Note that custom roles must be of the format // `[projects|organizations]/{parent-name}/roles/{role-name}`. Role interface{} }
The set of arguments for constructing a IAMMember resource.
type IAMMemberState ¶
type IAMMemberState struct { // (Computed) The etag of the organization's IAM policy. Etag interface{} // The user that the role should apply to. Member interface{} // The numeric ID of the organization in which you want to create a custom role. OrgId interface{} // The role that should be applied. Note that custom roles must be of the format // `[projects|organizations]/{parent-name}/roles/{role-name}`. Role interface{} }
Input properties used for looking up and filtering IAMMember resources.
type IAMPolicy ¶
type IAMPolicy struct {
// contains filtered or unexported fields
}
Allows management of the entire IAM policy for an existing Google Cloud Platform Organization.
> **Warning:** New organizations have several default policies which will,
without extreme caution, be **overwritten** by use of this resource. The safest alternative is to use multiple `google_organization_iam_binding` resources. It is easy to use this resource to remove your own access to an organization, which will require a call to Google Support to have fixed, and can take multiple days to resolve. If you do use this resource, the best way to be sure that you are not making dangerous changes is to start by importing your existing policy, and examining the diff very closely.
> **Note:** This resource __must not__ be used in conjunction with
`google_organization_iam_member` or `google_organization_iam_binding` or they will fight over what your policy should be.
func GetIAMPolicy ¶
func GetIAMPolicy(ctx *pulumi.Context, name string, id pulumi.ID, state *IAMPolicyState, opts ...pulumi.ResourceOpt) (*IAMPolicy, error)
GetIAMPolicy gets an existing IAMPolicy resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).
func NewIAMPolicy ¶
func NewIAMPolicy(ctx *pulumi.Context, name string, args *IAMPolicyArgs, opts ...pulumi.ResourceOpt) (*IAMPolicy, error)
NewIAMPolicy registers a new resource with the given unique name, arguments, and options.
func (*IAMPolicy) Etag ¶
func (r *IAMPolicy) Etag() *pulumi.StringOutput
func (*IAMPolicy) OrgId ¶
func (r *IAMPolicy) OrgId() *pulumi.StringOutput
The numeric ID of the organization in which you want to create a custom role.
func (*IAMPolicy) PolicyData ¶
func (r *IAMPolicy) PolicyData() *pulumi.StringOutput
The `google_iam_policy` data source that represents the IAM policy that will be applied to the organization. This policy overrides any existing policy applied to the organization.
type IAMPolicyArgs ¶
type IAMPolicyArgs struct { // The numeric ID of the organization in which you want to create a custom role. OrgId interface{} // The `google_iam_policy` data source that represents // the IAM policy that will be applied to the organization. This policy overrides any existing // policy applied to the organization. PolicyData interface{} }
The set of arguments for constructing a IAMPolicy resource.
type IAMPolicyState ¶
type IAMPolicyState struct { Etag interface{} // The numeric ID of the organization in which you want to create a custom role. OrgId interface{} // The `google_iam_policy` data source that represents // the IAM policy that will be applied to the organization. This policy overrides any existing // policy applied to the organization. PolicyData interface{} }
Input properties used for looking up and filtering IAMPolicy resources.
type Policy ¶
type Policy struct {
// contains filtered or unexported fields
}
Allows management of Organization policies for a Google Organization. For more information see [the official documentation](https://cloud.google.com/resource-manager/docs/organization-policy/overview) and [API](https://cloud.google.com/resource-manager/reference/rest/v1/organizations/setOrgPolicy).
func GetPolicy ¶
func GetPolicy(ctx *pulumi.Context, name string, id pulumi.ID, state *PolicyState, opts ...pulumi.ResourceOpt) (*Policy, error)
GetPolicy gets an existing Policy resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).
func NewPolicy ¶
func NewPolicy(ctx *pulumi.Context, name string, args *PolicyArgs, opts ...pulumi.ResourceOpt) (*Policy, error)
NewPolicy registers a new resource with the given unique name, arguments, and options.
func (*Policy) BooleanPolicy ¶
A boolean policy is a constraint that is either enforced or not. Structure is documented below.
func (*Policy) Constraint ¶
func (r *Policy) Constraint() *pulumi.StringOutput
The name of the Constraint the Policy is configuring, for example, `serviceuser.services`. Check out the [complete list of available constraints](https://cloud.google.com/resource-manager/docs/organization-policy/understanding-constraints#available_constraints).
func (*Policy) Etag ¶
func (r *Policy) Etag() *pulumi.StringOutput
(Computed) The etag of the organization policy. `etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other.
func (*Policy) ListPolicy ¶
A policy that can define specific values that are allowed or denied for the given constraint. It can also be used to allow or deny all values. Structure is documented below.
func (*Policy) OrgId ¶
func (r *Policy) OrgId() *pulumi.StringOutput
The numeric ID of the organization to set the policy for.
func (*Policy) RestorePolicy ¶ added in v0.15.0
A restore policy is a constraint to restore the default policy. Structure is documented below.
func (*Policy) UpdateTime ¶
func (r *Policy) UpdateTime() *pulumi.StringOutput
(Computed) The timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds, representing when the variable was last updated. Example: "2016-10-09T12:33:37.578138407Z".
type PolicyArgs ¶
type PolicyArgs struct { // A boolean policy is a constraint that is either enforced or not. Structure is documented below. BooleanPolicy interface{} // The name of the Constraint the Policy is configuring, for example, `serviceuser.services`. Check out the [complete list of available constraints](https://cloud.google.com/resource-manager/docs/organization-policy/understanding-constraints#available_constraints). Constraint interface{} // A policy that can define specific values that are allowed or denied for the given constraint. It can also be used to allow or deny all values. Structure is documented below. ListPolicy interface{} // The numeric ID of the organization to set the policy for. OrgId interface{} // A restore policy is a constraint to restore the default policy. Structure is documented below. RestorePolicy interface{} // Version of the Policy. Default version is 0. Version interface{} }
The set of arguments for constructing a Policy resource.
type PolicyState ¶
type PolicyState struct { // A boolean policy is a constraint that is either enforced or not. Structure is documented below. BooleanPolicy interface{} // The name of the Constraint the Policy is configuring, for example, `serviceuser.services`. Check out the [complete list of available constraints](https://cloud.google.com/resource-manager/docs/organization-policy/understanding-constraints#available_constraints). Constraint interface{} // (Computed) The etag of the organization policy. `etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. Etag interface{} // A policy that can define specific values that are allowed or denied for the given constraint. It can also be used to allow or deny all values. Structure is documented below. ListPolicy interface{} // The numeric ID of the organization to set the policy for. OrgId interface{} // A restore policy is a constraint to restore the default policy. Structure is documented below. RestorePolicy interface{} // (Computed) The timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds, representing when the variable was last updated. Example: "2016-10-09T12:33:37.578138407Z". UpdateTime interface{} // Version of the Policy. Default version is 0. Version interface{} }
Input properties used for looking up and filtering Policy resources.
type Project ¶
type Project struct {
// contains filtered or unexported fields
}
Allows creation and management of a Google Cloud Platform project.
Projects created with this resource must be associated with an Organization. See the [Organization documentation](https://cloud.google.com/resource-manager/docs/quickstarts) for more details.
The service account used to run Terraform when creating a `google_project` resource must have `roles/resourcemanager.projectCreator`. See the [Access Control for Organizations Using IAM](https://cloud.google.com/resource-manager/docs/access-control-org) doc for more information.
Note that prior to 0.8.5, `google_project` functioned like a data source, meaning any project referenced by it had to be created and managed outside Terraform. As of 0.8.5, `google_project` functions like any other Terraform resource, with Terraform creating and managing the project. To replicate the old behavior, either:
- Use the project ID directly in whatever is referencing the project, using the [google_project_iam_policy](https://www.terraform.io/docs/providers/google/r/google_project_iam.html) to replace the old `policy_data` property.
- Use the [import](https://www.terraform.io/docs/import/usage.html) functionality to import your pre-existing project into Terraform, where it can be referenced and used just like always, keeping in mind that Terraform will attempt to undo any changes made outside Terraform.
> It's important to note that any project resources that were added to your Terraform config prior to 0.8.5 will continue to function as they always have, and will not be managed by Terraform. Only newly added projects are affected.
func GetProject ¶
func GetProject(ctx *pulumi.Context, name string, id pulumi.ID, state *ProjectState, opts ...pulumi.ResourceOpt) (*Project, error)
GetProject gets an existing Project resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).
func NewProject ¶
func NewProject(ctx *pulumi.Context, name string, args *ProjectArgs, opts ...pulumi.ResourceOpt) (*Project, error)
NewProject registers a new resource with the given unique name, arguments, and options.
func (*Project) AppEngine ¶
A block of configuration to enable an App Engine app. Setting this field will enabled the App Engine Admin API, which is required to manage the app.
func (*Project) AutoCreateNetwork ¶
func (r *Project) AutoCreateNetwork() *pulumi.BoolOutput
Create the 'default' network automatically. Default true. Note: this might be more accurately described as "Delete Default Network", since the network is created automatically then deleted before project creation returns, but we choose this name to match the GCP Console UI. Setting this field to false will enable the Compute Engine API which is required to delete the network.
func (*Project) BillingAccount ¶
func (r *Project) BillingAccount() *pulumi.StringOutput
The alphanumeric ID of the billing account this project belongs to. The user or service account performing this operation with Terraform must have Billing Account Administrator privileges (`roles/billing.admin`) in the organization. See [Google Cloud Billing API Access Control](https://cloud.google.com/billing/v1/how-tos/access-control) for more details.
func (*Project) FolderId ¶
func (r *Project) FolderId() *pulumi.StringOutput
The numeric ID of the folder this project should be created under. Only one of `org_id` or `folder_id` may be specified. If the `folder_id` is specified, then the project is created under the specified folder. Changing this forces the project to be migrated to the newly specified folder.
func (*Project) Name ¶
func (r *Project) Name() *pulumi.StringOutput
The display name of the project.
func (*Project) Number ¶
func (r *Project) Number() *pulumi.StringOutput
The numeric identifier of the project.
func (*Project) OrgId ¶
func (r *Project) OrgId() *pulumi.StringOutput
The numeric ID of the organization this project belongs to. Changing this forces a new project to be created. Only one of `org_id` or `folder_id` may be specified. If the `org_id` is specified then the project is created at the top level. Changing this forces the project to be migrated to the newly specified organization.
func (*Project) ProjectId ¶
func (r *Project) ProjectId() *pulumi.StringOutput
The project ID. Changing this forces a new project to be created.
func (*Project) SkipDelete ¶
func (r *Project) SkipDelete() *pulumi.BoolOutput
If true, the Terraform resource can be deleted without deleting the Project via the Google API.
type ProjectArgs ¶
type ProjectArgs struct { // A block of configuration to enable an App Engine app. Setting this // field will enabled the App Engine Admin API, which is required to manage the app. AppEngine interface{} // Create the 'default' network automatically. Default true. // Note: this might be more accurately described as "Delete Default Network", since the network // is created automatically then deleted before project creation returns, but we choose this // name to match the GCP Console UI. Setting this field to false will enable the Compute Engine // API which is required to delete the network. AutoCreateNetwork interface{} // The alphanumeric ID of the billing account this project // belongs to. The user or service account performing this operation with Terraform // must have Billing Account Administrator privileges (`roles/billing.admin`) in // the organization. See [Google Cloud Billing API Access Control](https://cloud.google.com/billing/v1/how-tos/access-control) // for more details. BillingAccount interface{} // The numeric ID of the folder this project should be // created under. Only one of `org_id` or `folder_id` may be // specified. If the `folder_id` is specified, then the project is // created under the specified folder. Changing this forces the // project to be migrated to the newly specified folder. FolderId interface{} // A set of key/value label pairs to assign to the project. Labels interface{} // The display name of the project. Name interface{} // The numeric ID of the organization this project belongs to. // Changing this forces a new project to be created. Only one of // `org_id` or `folder_id` may be specified. If the `org_id` is // specified then the project is created at the top level. Changing // this forces the project to be migrated to the newly specified // organization. OrgId interface{} // The project ID. Changing this forces a new project to be created. ProjectId interface{} // If true, the Terraform resource can be deleted // without deleting the Project via the Google API. SkipDelete interface{} }
The set of arguments for constructing a Project resource.
type ProjectState ¶
type ProjectState struct { // A block of configuration to enable an App Engine app. Setting this // field will enabled the App Engine Admin API, which is required to manage the app. AppEngine interface{} // Create the 'default' network automatically. Default true. // Note: this might be more accurately described as "Delete Default Network", since the network // is created automatically then deleted before project creation returns, but we choose this // name to match the GCP Console UI. Setting this field to false will enable the Compute Engine // API which is required to delete the network. AutoCreateNetwork interface{} // The alphanumeric ID of the billing account this project // belongs to. The user or service account performing this operation with Terraform // must have Billing Account Administrator privileges (`roles/billing.admin`) in // the organization. See [Google Cloud Billing API Access Control](https://cloud.google.com/billing/v1/how-tos/access-control) // for more details. BillingAccount interface{} // The numeric ID of the folder this project should be // created under. Only one of `org_id` or `folder_id` may be // specified. If the `folder_id` is specified, then the project is // created under the specified folder. Changing this forces the // project to be migrated to the newly specified folder. FolderId interface{} // A set of key/value label pairs to assign to the project. Labels interface{} // The display name of the project. Name interface{} // The numeric identifier of the project. Number interface{} // The numeric ID of the organization this project belongs to. // Changing this forces a new project to be created. Only one of // `org_id` or `folder_id` may be specified. If the `org_id` is // specified then the project is created at the top level. Changing // this forces the project to be migrated to the newly specified // organization. OrgId interface{} // The project ID. Changing this forces a new project to be created. ProjectId interface{} // If true, the Terraform resource can be deleted // without deleting the Project via the Google API. SkipDelete interface{} }
Input properties used for looking up and filtering Project resources.