Documentation ¶
Index ¶
- func NewServerGroup_Override(s ServerGroup, scope constructs.Construct, id *string, ...)
- func ServerGroup_GenerateConfigForImport(scope constructs.Construct, importToId *string, importFromId *string, ...) cdktf.ImportableResource
- func ServerGroup_IsConstruct(x interface{}) *bool
- func ServerGroup_IsTerraformElement(x interface{}) *bool
- func ServerGroup_IsTerraformResource(x interface{}) *bool
- func ServerGroup_TfResourceType() *string
- type ServerGroup
- type ServerGroupConfig
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewServerGroup_Override ¶
func NewServerGroup_Override(s ServerGroup, scope constructs.Construct, id *string, config *ServerGroupConfig)
Create a new {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.15.0/docs/resources/server_group upcloud_server_group} Resource.
func ServerGroup_GenerateConfigForImport ¶
func ServerGroup_GenerateConfigForImport(scope constructs.Construct, importToId *string, importFromId *string, provider cdktf.TerraformProvider) cdktf.ImportableResource
Generates CDKTF code for importing a ServerGroup resource upon running "cdktf plan <stack-name>".
func ServerGroup_IsConstruct ¶
func ServerGroup_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 ServerGroup_IsTerraformElement ¶
func ServerGroup_IsTerraformElement(x interface{}) *bool
Experimental.
func ServerGroup_IsTerraformResource ¶
func ServerGroup_IsTerraformResource(x interface{}) *bool
Experimental.
func ServerGroup_TfResourceType ¶
func ServerGroup_TfResourceType() *string
Types ¶
type ServerGroup ¶
type ServerGroup interface { cdktf.TerraformResource AntiAffinityPolicy() *string SetAntiAffinityPolicy(val *string) AntiAffinityPolicyInput() *string // Experimental. CdktfStack() cdktf.TerraformStack // Experimental. Connection() interface{} // Experimental. SetConnection(val interface{}) // Experimental. ConstructNodeMetadata() *map[string]interface{} // Experimental. Count() interface{} // Experimental. SetCount(val interface{}) // Experimental. DependsOn() *[]*string // Experimental. SetDependsOn(val *[]*string) // Experimental. ForEach() cdktf.ITerraformIterator // Experimental. SetForEach(val cdktf.ITerraformIterator) // Experimental. Fqn() *string // Experimental. FriendlyUniqueId() *string Id() *string Labels() *map[string]*string SetLabels(val *map[string]*string) LabelsInput() *map[string]*string // Experimental. Lifecycle() *cdktf.TerraformResourceLifecycle // Experimental. SetLifecycle(val *cdktf.TerraformResourceLifecycle) Members() *[]*string SetMembers(val *[]*string) MembersInput() *[]*string // The tree node. Node() constructs.Node // Experimental. Provider() cdktf.TerraformProvider // Experimental. SetProvider(val cdktf.TerraformProvider) // Experimental. Provisioners() *[]interface{} // Experimental. SetProvisioners(val *[]interface{}) // Experimental. RawOverrides() interface{} // Experimental. TerraformGeneratorMetadata() *cdktf.TerraformProviderGeneratorMetadata // Experimental. TerraformMetaArguments() *map[string]interface{} // Experimental. TerraformResourceType() *string Title() *string SetTitle(val *string) TitleInput() *string TrackMembers() interface{} SetTrackMembers(val interface{}) TrackMembersInput() 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) ResetAntiAffinityPolicy() ResetLabels() ResetMembers() // Resets a previously passed logical Id to use the auto-generated logical id again. // Experimental. ResetOverrideLogicalId() ResetTrackMembers() 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/upcloudltd/upcloud/5.15.0/docs/resources/server_group upcloud_server_group}.
func NewServerGroup ¶
func NewServerGroup(scope constructs.Construct, id *string, config *ServerGroupConfig) ServerGroup
Create a new {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.15.0/docs/resources/server_group upcloud_server_group} Resource.
type ServerGroupConfig ¶
type ServerGroupConfig 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"` // Title of your server group. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.15.0/docs/resources/server_group#title ServerGroup#title} Title *string `field:"required" json:"title" yaml:"title"` // Defines if a server group is an anti-affinity group. // // Setting this to `strict` or `yes` will // result in all servers in the group being placed on separate compute hosts. The value can be `strict`, `yes`, or `no`. // // * `strict` policy doesn't allow servers in the same server group to be on the same host // * `yes` refers to best-effort policy and tries to put servers on different hosts, but this is not guaranteed // * `no` refers to having no policy and thus no effect on server host affinity // // To verify if the anti-affinity policies are met by requesting a server group details from API. For more information // please see UpCloud API documentation on server groups. // // Plese also note that anti-affinity policies are only applied on server start. This means that if anti-affinity // policies in server group are not met, you need to manually restart the servers in said group, // for example via API, UpCloud Control Panel or upctl (UpCloud CLI) // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.15.0/docs/resources/server_group#anti_affinity_policy ServerGroup#anti_affinity_policy} AntiAffinityPolicy *string `field:"optional" json:"antiAffinityPolicy" yaml:"antiAffinityPolicy"` // User defined key-value pairs to classify the server group. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.15.0/docs/resources/server_group#labels ServerGroup#labels} Labels *map[string]*string `field:"optional" json:"labels" yaml:"labels"` // UUIDs of the servers that are members of this group. // // Servers can also be attached to the server group via `server_group` property of `upcloud_server`. See also `track_members` property. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.15.0/docs/resources/server_group#members ServerGroup#members} Members *[]*string `field:"optional" json:"members" yaml:"members"` // Controls if members of the server group are being tracked in this resource. // // Set to `false` when using `server_group` property of `upcloud_server` to attach servers to the server group to avoid delayed state updates. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.15.0/docs/resources/server_group#track_members ServerGroup#track_members} TrackMembers interface{} `field:"optional" json:"trackMembers" yaml:"trackMembers"` }