servergroup

package
v14.12.0 Latest Latest
Warning

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

Go to latest
Published: Oct 11, 2024 License: MPL-2.0 Imports: 7 Imported by: 0

README

upcloud_server_group

Refer to the Terraform Registry for docs: upcloud_server_group.

Documentation

Index

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.12.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.12.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.12.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.12.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.12.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.12.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.12.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.12.0/docs/resources/server_group#track_members ServerGroup#track_members}
	TrackMembers interface{} `field:"optional" json:"trackMembers" yaml:"trackMembers"`
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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