Documentation
¶
Index ¶
- func NewProjectTimeoutsOutputReference_Override(p ProjectTimeoutsOutputReference, terraformResource cdktf.IInterpolatingParent, ...)
- func NewProject_Override(p Project, scope constructs.Construct, id *string, config *ProjectConfig)
- func Project_GenerateConfigForImport(scope constructs.Construct, importToId *string, importFromId *string, ...) cdktf.ImportableResource
- func Project_IsConstruct(x interface{}) *bool
- func Project_IsTerraformElement(x interface{}) *bool
- func Project_IsTerraformResource(x interface{}) *bool
- func Project_TfResourceType() *string
- type Project
- type ProjectConfig
- type ProjectTimeouts
- type ProjectTimeoutsOutputReference
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewProjectTimeoutsOutputReference_Override ¶
func NewProjectTimeoutsOutputReference_Override(p ProjectTimeoutsOutputReference, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string)
func NewProject_Override ¶
func NewProject_Override(p Project, scope constructs.Construct, id *string, config *ProjectConfig)
Create a new {@link https://registry.terraform.io/providers/hashicorp/google/6.45.0/docs/resources/project google_project} Resource.
func Project_GenerateConfigForImport ¶
func Project_GenerateConfigForImport(scope constructs.Construct, importToId *string, importFromId *string, provider cdktf.TerraformProvider) cdktf.ImportableResource
Generates CDKTF code for importing a Project resource upon running "cdktf plan <stack-name>".
func Project_IsConstruct ¶
func Project_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func Project_IsTerraformElement ¶
func Project_IsTerraformElement(x interface{}) *bool
Experimental.
func Project_IsTerraformResource ¶
func Project_IsTerraformResource(x interface{}) *bool
Experimental.
func Project_TfResourceType ¶
func Project_TfResourceType() *string
Types ¶
type Project ¶
type Project interface {
cdktf.TerraformResource
AutoCreateNetwork() interface{}
SetAutoCreateNetwork(val interface{})
AutoCreateNetworkInput() interface{}
BillingAccount() *string
SetBillingAccount(val *string)
BillingAccountInput() *string
// Experimental.
CdktfStack() cdktf.TerraformStack
// Experimental.
Connection() interface{}
// Experimental.
SetConnection(val interface{})
// Experimental.
ConstructNodeMetadata() *map[string]interface{}
// Experimental.
Count() interface{}
// Experimental.
SetCount(val interface{})
DeletionPolicy() *string
SetDeletionPolicy(val *string)
DeletionPolicyInput() *string
// Experimental.
DependsOn() *[]*string
// Experimental.
SetDependsOn(val *[]*string)
EffectiveLabels() cdktf.StringMap
FolderId() *string
SetFolderId(val *string)
FolderIdInput() *string
// Experimental.
ForEach() cdktf.ITerraformIterator
// Experimental.
SetForEach(val cdktf.ITerraformIterator)
// Experimental.
Fqn() *string
// Experimental.
FriendlyUniqueId() *string
Id() *string
SetId(val *string)
IdInput() *string
Labels() *map[string]*string
SetLabels(val *map[string]*string)
LabelsInput() *map[string]*string
// Experimental.
Lifecycle() *cdktf.TerraformResourceLifecycle
// Experimental.
SetLifecycle(val *cdktf.TerraformResourceLifecycle)
Name() *string
SetName(val *string)
NameInput() *string
// The tree node.
Node() constructs.Node
Number() *string
OrgId() *string
SetOrgId(val *string)
OrgIdInput() *string
ProjectId() *string
SetProjectId(val *string)
ProjectIdInput() *string
// Experimental.
Provider() cdktf.TerraformProvider
// Experimental.
SetProvider(val cdktf.TerraformProvider)
// Experimental.
Provisioners() *[]interface{}
// Experimental.
SetProvisioners(val *[]interface{})
// Experimental.
RawOverrides() interface{}
Tags() *map[string]*string
SetTags(val *map[string]*string)
TagsInput() *map[string]*string
// Experimental.
TerraformGeneratorMetadata() *cdktf.TerraformProviderGeneratorMetadata
TerraformLabels() cdktf.StringMap
// Experimental.
TerraformMetaArguments() *map[string]interface{}
// Experimental.
TerraformResourceType() *string
Timeouts() ProjectTimeoutsOutputReference
TimeoutsInput() interface{}
// Adds a user defined moveTarget string to this resource to be later used in .moveTo(moveTarget) to resolve the location of the move.
// Experimental.
AddMoveTarget(moveTarget *string)
// Experimental.
AddOverride(path *string, value interface{})
// Experimental.
GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
// Experimental.
GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable
// Experimental.
GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
// Experimental.
GetListAttribute(terraformAttribute *string) *[]*string
// Experimental.
GetNumberAttribute(terraformAttribute *string) *float64
// Experimental.
GetNumberListAttribute(terraformAttribute *string) *[]*float64
// Experimental.
GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
// Experimental.
GetStringAttribute(terraformAttribute *string) *string
// Experimental.
GetStringMapAttribute(terraformAttribute *string) *map[string]*string
// Experimental.
HasResourceMove() interface{}
// Experimental.
ImportFrom(id *string, provider cdktf.TerraformProvider)
// Experimental.
InterpolationForAttribute(terraformAttribute *string) cdktf.IResolvable
// Move the resource corresponding to "id" to this resource.
//
// Note that the resource being moved from must be marked as moved using it's instance function.
// Experimental.
MoveFromId(id *string)
// Moves this resource to the target resource given by moveTarget.
// Experimental.
MoveTo(moveTarget *string, index interface{})
// Moves this resource to the resource corresponding to "id".
// Experimental.
MoveToId(id *string)
// Overrides the auto-generated logical ID with a specific ID.
// Experimental.
OverrideLogicalId(newLogicalId *string)
PutTimeouts(value *ProjectTimeouts)
ResetAutoCreateNetwork()
ResetBillingAccount()
ResetDeletionPolicy()
ResetFolderId()
ResetId()
ResetLabels()
ResetOrgId()
// Resets a previously passed logical Id to use the auto-generated logical id again.
// Experimental.
ResetOverrideLogicalId()
ResetTags()
ResetTimeouts()
SynthesizeAttributes() *map[string]interface{}
SynthesizeHclAttributes() *map[string]interface{}
// Experimental.
ToHclTerraform() interface{}
// Experimental.
ToMetadata() interface{}
// Returns a string representation of this construct.
ToString() *string
// Adds this resource to the terraform JSON output.
// Experimental.
ToTerraform() interface{}
}
Represents a {@link https://registry.terraform.io/providers/hashicorp/google/6.45.0/docs/resources/project google_project}.
func NewProject ¶
func NewProject(scope constructs.Construct, id *string, config *ProjectConfig) Project
Create a new {@link https://registry.terraform.io/providers/hashicorp/google/6.45.0/docs/resources/project google_project} Resource.
type ProjectConfig ¶
type ProjectConfig struct {
// Experimental.
Connection interface{} `field:"optional" json:"connection" yaml:"connection"`
// Experimental.
Count interface{} `field:"optional" json:"count" yaml:"count"`
// Experimental.
DependsOn *[]cdktf.ITerraformDependable `field:"optional" json:"dependsOn" yaml:"dependsOn"`
// Experimental.
ForEach cdktf.ITerraformIterator `field:"optional" json:"forEach" yaml:"forEach"`
// Experimental.
Lifecycle *cdktf.TerraformResourceLifecycle `field:"optional" json:"lifecycle" yaml:"lifecycle"`
// Experimental.
Provider cdktf.TerraformProvider `field:"optional" json:"provider" yaml:"provider"`
// Experimental.
Provisioners *[]interface{} `field:"optional" json:"provisioners" yaml:"provisioners"`
// The display name of the project.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.45.0/docs/resources/project#name Project#name}
Name *string `field:"required" json:"name" yaml:"name"`
// The project ID. Changing this forces a new project to be created.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.45.0/docs/resources/project#project_id Project#project_id}
ProjectId *string `field:"required" json:"projectId" yaml:"projectId"`
// Create the 'default' network automatically.
//
// Default true. If set to false, the default network will be deleted. Note that, for quota purposes, you will still need to have 1 network slot available to create the project successfully, even if you set auto_create_network to false, since the network will exist momentarily.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.45.0/docs/resources/project#auto_create_network Project#auto_create_network}
AutoCreateNetwork interface{} `field:"optional" json:"autoCreateNetwork" yaml:"autoCreateNetwork"`
// 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 for more details.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.45.0/docs/resources/project#billing_account Project#billing_account}
BillingAccount *string `field:"optional" json:"billingAccount" yaml:"billingAccount"`
// The deletion policy for the Project.
//
// Setting PREVENT will protect the project against any destroy actions caused by a terraform apply or terraform destroy. Setting ABANDON allows the resource
// to be abandoned rather than deleted. Possible values are: "PREVENT", "ABANDON", "DELETE"
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.45.0/docs/resources/project#deletion_policy Project#deletion_policy}
DeletionPolicy *string `field:"optional" json:"deletionPolicy" yaml:"deletionPolicy"`
// 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.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.45.0/docs/resources/project#folder_id Project#folder_id}
FolderId *string `field:"optional" json:"folderId" yaml:"folderId"`
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.45.0/docs/resources/project#id Project#id}.
//
// Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
// If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.
Id *string `field:"optional" json:"id" yaml:"id"`
// A set of key/value label pairs to assign to the project.
//
// **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
// Please refer to the field 'effective_labels' for all of the labels present on the resource.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.45.0/docs/resources/project#labels Project#labels}
Labels *map[string]*string `field:"optional" json:"labels" yaml:"labels"`
// 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.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.45.0/docs/resources/project#org_id Project#org_id}
OrgId *string `field:"optional" json:"orgId" yaml:"orgId"`
// A map of resource manager tags.
//
// Resource manager tag keys and values have the same definition as resource manager tags. Keys must be in the format tagKeys/{tag_key_id}, and values are in the format tagValues/456. The field is ignored when empty. This field is only set at create time and modifying this field after creation will trigger recreation. To apply tags to an existing resource, see the google_tags_tag_value resource.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.45.0/docs/resources/project#tags Project#tags}
Tags *map[string]*string `field:"optional" json:"tags" yaml:"tags"`
// timeouts block.
//
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.45.0/docs/resources/project#timeouts Project#timeouts}
Timeouts *ProjectTimeouts `field:"optional" json:"timeouts" yaml:"timeouts"`
}
type ProjectTimeouts ¶
type ProjectTimeouts struct {
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.45.0/docs/resources/project#create Project#create}.
Create *string `field:"optional" json:"create" yaml:"create"`
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.45.0/docs/resources/project#delete Project#delete}.
Delete *string `field:"optional" json:"delete" yaml:"delete"`
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.45.0/docs/resources/project#read Project#read}.
Read *string `field:"optional" json:"read" yaml:"read"`
// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.45.0/docs/resources/project#update Project#update}.
Update *string `field:"optional" json:"update" yaml:"update"`
}
type ProjectTimeoutsOutputReference ¶
type ProjectTimeoutsOutputReference interface {
cdktf.ComplexObject
// the index of the complex object in a list.
// Experimental.
ComplexObjectIndex() interface{}
// Experimental.
SetComplexObjectIndex(val interface{})
// set to true if this item is from inside a set and needs tolist() for accessing it set to "0" for single list items.
// Experimental.
ComplexObjectIsFromSet() *bool
// Experimental.
SetComplexObjectIsFromSet(val *bool)
Create() *string
SetCreate(val *string)
CreateInput() *string
// The creation stack of this resolvable which will be appended to errors thrown during resolution.
//
// If this returns an empty array the stack will not be attached.
// Experimental.
CreationStack() *[]*string
Delete() *string
SetDelete(val *string)
DeleteInput() *string
// Experimental.
Fqn() *string
InternalValue() interface{}
SetInternalValue(val interface{})
Read() *string
SetRead(val *string)
ReadInput() *string
// Experimental.
TerraformAttribute() *string
// Experimental.
SetTerraformAttribute(val *string)
// Experimental.
TerraformResource() cdktf.IInterpolatingParent
// Experimental.
SetTerraformResource(val cdktf.IInterpolatingParent)
Update() *string
SetUpdate(val *string)
UpdateInput() *string
// Experimental.
ComputeFqn() *string
// Experimental.
GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
// Experimental.
GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable
// Experimental.
GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
// Experimental.
GetListAttribute(terraformAttribute *string) *[]*string
// Experimental.
GetNumberAttribute(terraformAttribute *string) *float64
// Experimental.
GetNumberListAttribute(terraformAttribute *string) *[]*float64
// Experimental.
GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
// Experimental.
GetStringAttribute(terraformAttribute *string) *string
// Experimental.
GetStringMapAttribute(terraformAttribute *string) *map[string]*string
// Experimental.
InterpolationAsList() cdktf.IResolvable
// Experimental.
InterpolationForAttribute(property *string) cdktf.IResolvable
ResetCreate()
ResetDelete()
ResetRead()
ResetUpdate()
// Produce the Token's value at resolution time.
// Experimental.
Resolve(_context cdktf.IResolveContext) interface{}
// Return a string representation of this resolvable object.
//
// Returns a reversible string representation.
// Experimental.
ToString() *string
}
func NewProjectTimeoutsOutputReference ¶
func NewProjectTimeoutsOutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string) ProjectTimeoutsOutputReference