awsglobalaccelerator

package
v2.8.0 Latest Latest
Warning

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

Go to latest
Published: Jan 13, 2022 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Accelerator_IsConstruct

func Accelerator_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead

func Accelerator_IsResource

func Accelerator_IsResource(construct constructs.IConstruct) *bool

Check whether the given construct is a Resource.

func CfnAccelerator_CFN_RESOURCE_TYPE_NAME

func CfnAccelerator_CFN_RESOURCE_TYPE_NAME() *string

func CfnAccelerator_IsCfnElement

func CfnAccelerator_IsCfnElement(x interface{}) *bool

Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).

Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.

Returns: The construct as a stack element or undefined if it is not a stack element.

func CfnAccelerator_IsCfnResource

func CfnAccelerator_IsCfnResource(construct constructs.IConstruct) *bool

Check whether the given construct is a CfnResource.

func CfnAccelerator_IsConstruct

func CfnAccelerator_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead

func CfnEndpointGroup_CFN_RESOURCE_TYPE_NAME

func CfnEndpointGroup_CFN_RESOURCE_TYPE_NAME() *string

func CfnEndpointGroup_IsCfnElement

func CfnEndpointGroup_IsCfnElement(x interface{}) *bool

Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).

Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.

Returns: The construct as a stack element or undefined if it is not a stack element.

func CfnEndpointGroup_IsCfnResource

func CfnEndpointGroup_IsCfnResource(construct constructs.IConstruct) *bool

Check whether the given construct is a CfnResource.

func CfnEndpointGroup_IsConstruct

func CfnEndpointGroup_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead

func CfnListener_CFN_RESOURCE_TYPE_NAME

func CfnListener_CFN_RESOURCE_TYPE_NAME() *string

func CfnListener_IsCfnElement

func CfnListener_IsCfnElement(x interface{}) *bool

Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).

Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.

Returns: The construct as a stack element or undefined if it is not a stack element.

func CfnListener_IsCfnResource

func CfnListener_IsCfnResource(construct constructs.IConstruct) *bool

Check whether the given construct is a CfnResource.

func CfnListener_IsConstruct

func CfnListener_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead

func EndpointGroup_IsConstruct

func EndpointGroup_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead

func EndpointGroup_IsResource

func EndpointGroup_IsResource(construct constructs.IConstruct) *bool

Check whether the given construct is a Resource.

func Listener_IsConstruct

func Listener_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead

func Listener_IsResource

func Listener_IsResource(construct constructs.IConstruct) *bool

Check whether the given construct is a Resource.

func NewAccelerator_Override

func NewAccelerator_Override(a Accelerator, scope constructs.Construct, id *string, props *AcceleratorProps)

func NewCfnAccelerator_Override

func NewCfnAccelerator_Override(c CfnAccelerator, scope constructs.Construct, id *string, props *CfnAcceleratorProps)

Create a new `AWS::GlobalAccelerator::Accelerator`.

func NewCfnEndpointGroup_Override

func NewCfnEndpointGroup_Override(c CfnEndpointGroup, scope constructs.Construct, id *string, props *CfnEndpointGroupProps)

Create a new `AWS::GlobalAccelerator::EndpointGroup`.

func NewCfnListener_Override

func NewCfnListener_Override(c CfnListener, scope constructs.Construct, id *string, props *CfnListenerProps)

Create a new `AWS::GlobalAccelerator::Listener`.

func NewEndpointGroup_Override

func NewEndpointGroup_Override(e EndpointGroup, scope constructs.Construct, id *string, props *EndpointGroupProps)

func NewListener_Override

func NewListener_Override(l Listener, scope constructs.Construct, id *string, props *ListenerProps)

func NewRawEndpoint_Override

func NewRawEndpoint_Override(r RawEndpoint, props *RawEndpointProps)

Types

type Accelerator

type Accelerator interface {
	awscdk.Resource
	IAccelerator
	AcceleratorArn() *string
	DnsName() *string
	Env() *awscdk.ResourceEnvironment
	Node() constructs.Node
	PhysicalName() *string
	Stack() awscdk.Stack
	AddListener(id *string, options *ListenerOptions) Listener
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy)
	GeneratePhysicalName() *string
	GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string
	GetResourceNameAttribute(nameAttr *string) *string
	ToString() *string
}

The Accelerator construct.

TODO: EXAMPLE

func NewAccelerator

func NewAccelerator(scope constructs.Construct, id *string, props *AcceleratorProps) Accelerator

type AcceleratorAttributes

type AcceleratorAttributes struct {
	// The ARN of the accelerator.
	AcceleratorArn *string `json:"acceleratorArn" yaml:"acceleratorArn"`
	// The DNS name of the accelerator.
	DnsName *string `json:"dnsName" yaml:"dnsName"`
}

Attributes required to import an existing accelerator to the stack.

TODO: EXAMPLE

type AcceleratorProps

type AcceleratorProps struct {
	// The name of the accelerator.
	AcceleratorName *string `json:"acceleratorName" yaml:"acceleratorName"`
	// Indicates whether the accelerator is enabled.
	Enabled *bool `json:"enabled" yaml:"enabled"`
}

Construct properties of the Accelerator.

TODO: EXAMPLE

type CfnAccelerator

type CfnAccelerator interface {
	awscdk.CfnResource
	awscdk.IInspectable
	AttrAcceleratorArn() *string
	AttrDnsName() *string
	CfnOptions() awscdk.ICfnResourceOptions
	CfnProperties() *map[string]interface{}
	CfnResourceType() *string
	CreationStack() *[]*string
	Enabled() interface{}
	SetEnabled(val interface{})
	IpAddresses() *[]*string
	SetIpAddresses(val *[]*string)
	IpAddressType() *string
	SetIpAddressType(val *string)
	LogicalId() *string
	Name() *string
	SetName(val *string)
	Node() constructs.Node
	Ref() *string
	Stack() awscdk.Stack
	Tags() awscdk.TagManager
	UpdatedProperites() *map[string]interface{}
	AddDeletionOverride(path *string)
	AddDependsOn(target awscdk.CfnResource)
	AddMetadata(key *string, value interface{})
	AddOverride(path *string, value interface{})
	AddPropertyDeletionOverride(propertyPath *string)
	AddPropertyOverride(propertyPath *string, value interface{})
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions)
	GetAtt(attributeName *string) awscdk.Reference
	GetMetadata(key *string) interface{}
	Inspect(inspector awscdk.TreeInspector)
	OverrideLogicalId(newLogicalId *string)
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	ShouldSynthesize() *bool
	ToString() *string
	ValidateProperties(_properties interface{})
}

A CloudFormation `AWS::GlobalAccelerator::Accelerator`.

The `AWS::GlobalAccelerator::Accelerator` resource is a Global Accelerator resource type that contains information about how you create an accelerator. An accelerator includes one or more listeners that process inbound connections and direct traffic to one or more endpoint groups, each of which includes endpoints, such as Application Load Balancers, Network Load Balancers, and Amazon EC2 instances.

TODO: EXAMPLE

func NewCfnAccelerator

func NewCfnAccelerator(scope constructs.Construct, id *string, props *CfnAcceleratorProps) CfnAccelerator

Create a new `AWS::GlobalAccelerator::Accelerator`.

type CfnAcceleratorProps

type CfnAcceleratorProps struct {
	// The name of the accelerator.
	//
	// The name must contain only alphanumeric characters or hyphens (-), and must not begin or end with a hyphen.
	Name *string `json:"name" yaml:"name"`
	// Indicates whether the accelerator is enabled. The value is true or false. The default value is true.
	//
	// If the value is set to true, the accelerator cannot be deleted. If set to false, accelerator can be deleted.
	Enabled interface{} `json:"enabled" yaml:"enabled"`
	// Optionally, if you've added your own IP address pool to Global Accelerator (BYOIP), you can choose IP addresses from your own pool to use for the accelerator's static IP addresses when you create an accelerator.
	//
	// You can specify one or two addresses, separated by a comma. Do not include the /32 suffix.
	//
	// Only one IP address from each of your IP address ranges can be used for each accelerator. If you specify only one IP address from your IP address range, Global Accelerator assigns a second static IP address for the accelerator from the AWS IP address pool.
	//
	// Note that you can't update IP addresses for an existing accelerator. To change them, you must create a new accelerator with the new addresses.
	//
	// For more information, see [Bring Your Own IP Addresses (BYOIP)](https://docs.aws.amazon.com/global-accelerator/latest/dg/using-byoip.html) in the *AWS Global Accelerator Developer Guide* .
	IpAddresses *[]*string `json:"ipAddresses" yaml:"ipAddresses"`
	// The value for the address type must be IPv4.
	IpAddressType *string `json:"ipAddressType" yaml:"ipAddressType"`
	// Create tags for an accelerator.
	//
	// For more information, see [Tagging](https://docs.aws.amazon.com/global-accelerator/latest/dg/tagging-in-global-accelerator.html) in the *AWS Global Accelerator Developer Guide* .
	Tags *[]*awscdk.CfnTag `json:"tags" yaml:"tags"`
}

Properties for defining a `CfnAccelerator`.

TODO: EXAMPLE

type CfnEndpointGroup

type CfnEndpointGroup interface {
	awscdk.CfnResource
	awscdk.IInspectable
	AttrEndpointGroupArn() *string
	CfnOptions() awscdk.ICfnResourceOptions
	CfnProperties() *map[string]interface{}
	CfnResourceType() *string
	CreationStack() *[]*string
	EndpointConfigurations() interface{}
	SetEndpointConfigurations(val interface{})
	EndpointGroupRegion() *string
	SetEndpointGroupRegion(val *string)
	HealthCheckIntervalSeconds() *float64
	SetHealthCheckIntervalSeconds(val *float64)
	HealthCheckPath() *string
	SetHealthCheckPath(val *string)
	HealthCheckPort() *float64
	SetHealthCheckPort(val *float64)
	HealthCheckProtocol() *string
	SetHealthCheckProtocol(val *string)
	ListenerArn() *string
	SetListenerArn(val *string)
	LogicalId() *string
	Node() constructs.Node
	PortOverrides() interface{}
	SetPortOverrides(val interface{})
	Ref() *string
	Stack() awscdk.Stack
	ThresholdCount() *float64
	SetThresholdCount(val *float64)
	TrafficDialPercentage() *float64
	SetTrafficDialPercentage(val *float64)
	UpdatedProperites() *map[string]interface{}
	AddDeletionOverride(path *string)
	AddDependsOn(target awscdk.CfnResource)
	AddMetadata(key *string, value interface{})
	AddOverride(path *string, value interface{})
	AddPropertyDeletionOverride(propertyPath *string)
	AddPropertyOverride(propertyPath *string, value interface{})
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions)
	GetAtt(attributeName *string) awscdk.Reference
	GetMetadata(key *string) interface{}
	Inspect(inspector awscdk.TreeInspector)
	OverrideLogicalId(newLogicalId *string)
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	ShouldSynthesize() *bool
	ToString() *string
	ValidateProperties(_properties interface{})
}

A CloudFormation `AWS::GlobalAccelerator::EndpointGroup`.

The `AWS::GlobalAccelerator::EndpointGroup` resource is a Global Accelerator resource type that contains information about how you create an endpoint group for the specified listener. An endpoint group is a collection of endpoints in one AWS Region .

TODO: EXAMPLE

func NewCfnEndpointGroup

func NewCfnEndpointGroup(scope constructs.Construct, id *string, props *CfnEndpointGroupProps) CfnEndpointGroup

Create a new `AWS::GlobalAccelerator::EndpointGroup`.

type CfnEndpointGroupProps

type CfnEndpointGroupProps struct {
	// The AWS Regions where the endpoint group is located.
	EndpointGroupRegion *string `json:"endpointGroupRegion" yaml:"endpointGroupRegion"`
	// The Amazon Resource Name (ARN) of the listener.
	ListenerArn *string `json:"listenerArn" yaml:"listenerArn"`
	// The list of endpoint objects.
	EndpointConfigurations interface{} `json:"endpointConfigurations" yaml:"endpointConfigurations"`
	// The time—10 seconds or 30 seconds—between health checks for each endpoint.
	//
	// The default value is 30.
	HealthCheckIntervalSeconds *float64 `json:"healthCheckIntervalSeconds" yaml:"healthCheckIntervalSeconds"`
	// If the protocol is HTTP/S, then this value provides the ping path that Global Accelerator uses for the destination on the endpoints for health checks.
	//
	// The default is slash (/).
	HealthCheckPath *string `json:"healthCheckPath" yaml:"healthCheckPath"`
	// The port that Global Accelerator uses to perform health checks on endpoints that are part of this endpoint group.
	//
	// The default port is the port for the listener that this endpoint group is associated with. If the listener port is a list, Global Accelerator uses the first specified port in the list of ports.
	HealthCheckPort *float64 `json:"healthCheckPort" yaml:"healthCheckPort"`
	// The protocol that Global Accelerator uses to perform health checks on endpoints that are part of this endpoint group.
	//
	// The default value is TCP.
	HealthCheckProtocol *string `json:"healthCheckProtocol" yaml:"healthCheckProtocol"`
	// Allows you to override the destination ports used to route traffic to an endpoint.
	//
	// Using a port override lets you to map a list of external destination ports (that your users send traffic to) to a list of internal destination ports that you want an application endpoint to receive traffic on.
	PortOverrides interface{} `json:"portOverrides" yaml:"portOverrides"`
	// The number of consecutive health checks required to set the state of a healthy endpoint to unhealthy, or to set an unhealthy endpoint to healthy.
	//
	// The default value is 3.
	ThresholdCount *float64 `json:"thresholdCount" yaml:"thresholdCount"`
	// The percentage of traffic to send to an AWS Regions .
	//
	// Additional traffic is distributed to other endpoint groups for this listener.
	//
	// Use this action to increase (dial up) or decrease (dial down) traffic to a specific Region. The percentage is applied to the traffic that would otherwise have been routed to the Region based on optimal routing.
	//
	// The default value is 100.
	TrafficDialPercentage *float64 `json:"trafficDialPercentage" yaml:"trafficDialPercentage"`
}

Properties for defining a `CfnEndpointGroup`.

TODO: EXAMPLE

type CfnEndpointGroup_EndpointConfigurationProperty

type CfnEndpointGroup_EndpointConfigurationProperty struct {
	// An ID for the endpoint.
	//
	// If the endpoint is a Network Load Balancer or Application Load Balancer, this is the Amazon Resource Name (ARN) of the resource. If the endpoint is an Elastic IP address, this is the Elastic IP address allocation ID. For Amazon EC2 instances, this is the EC2 instance ID. A resource must be valid and active when you add it as an endpoint.
	//
	// An Application Load Balancer can be either internal or internet-facing.
	EndpointId *string `json:"endpointId" yaml:"endpointId"`
	// Indicates whether client IP address preservation is enabled for an Application Load Balancer endpoint.
	//
	// The value is true or false. The default value is true for new accelerators.
	//
	// If the value is set to true, the client's IP address is preserved in the `X-Forwarded-For` request header as traffic travels to applications on the Application Load Balancer endpoint fronted by the accelerator.
	//
	// For more information, see [Preserve Client IP Addresses](https://docs.aws.amazon.com/global-accelerator/latest/dg/preserve-client-ip-address.html) in the *AWS Global Accelerator Developer Guide* .
	ClientIpPreservationEnabled interface{} `json:"clientIpPreservationEnabled" yaml:"clientIpPreservationEnabled"`
	// The weight associated with the endpoint.
	//
	// When you add weights to endpoints, you configure Global Accelerator to route traffic based on proportions that you specify. For example, you might specify endpoint weights of 4, 5, 5, and 6 (sum=20). The result is that 4/20 of your traffic, on average, is routed to the first endpoint, 5/20 is routed both to the second and third endpoints, and 6/20 is routed to the last endpoint. For more information, see [Endpoint Weights](https://docs.aws.amazon.com/global-accelerator/latest/dg/about-endpoints-endpoint-weights.html) in the *AWS Global Accelerator Developer Guide* .
	Weight *float64 `json:"weight" yaml:"weight"`
}

A complex type for endpoints.

A resource must be valid and active when you add it as an endpoint.

TODO: EXAMPLE

type CfnEndpointGroup_PortOverrideProperty

type CfnEndpointGroup_PortOverrideProperty struct {
	// The endpoint port that you want a listener port to be mapped to.
	//
	// This is the port on the endpoint, such as the Application Load Balancer or Amazon EC2 instance.
	EndpointPort *float64 `json:"endpointPort" yaml:"endpointPort"`
	// The listener port that you want to map to a specific endpoint port.
	//
	// This is the port that user traffic arrives to the Global Accelerator on.
	ListenerPort *float64 `json:"listenerPort" yaml:"listenerPort"`
}

Override specific listener ports used to route traffic to endpoints that are part of an endpoint group.

For example, you can create a port override in which the listener receives user traffic on ports 80 and 443, but your accelerator routes that traffic to ports 1080 and 1443, respectively, on the endpoints.

For more information, see [Port overrides](https://docs.aws.amazon.com/global-accelerator/latest/dg/about-endpoint-groups-port-override.html) in the *AWS Global Accelerator Developer Guide* .

TODO: EXAMPLE

type CfnListener

type CfnListener interface {
	awscdk.CfnResource
	awscdk.IInspectable
	AcceleratorArn() *string
	SetAcceleratorArn(val *string)
	AttrListenerArn() *string
	CfnOptions() awscdk.ICfnResourceOptions
	CfnProperties() *map[string]interface{}
	CfnResourceType() *string
	ClientAffinity() *string
	SetClientAffinity(val *string)
	CreationStack() *[]*string
	LogicalId() *string
	Node() constructs.Node
	PortRanges() interface{}
	SetPortRanges(val interface{})
	Protocol() *string
	SetProtocol(val *string)
	Ref() *string
	Stack() awscdk.Stack
	UpdatedProperites() *map[string]interface{}
	AddDeletionOverride(path *string)
	AddDependsOn(target awscdk.CfnResource)
	AddMetadata(key *string, value interface{})
	AddOverride(path *string, value interface{})
	AddPropertyDeletionOverride(propertyPath *string)
	AddPropertyOverride(propertyPath *string, value interface{})
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions)
	GetAtt(attributeName *string) awscdk.Reference
	GetMetadata(key *string) interface{}
	Inspect(inspector awscdk.TreeInspector)
	OverrideLogicalId(newLogicalId *string)
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	ShouldSynthesize() *bool
	ToString() *string
	ValidateProperties(_properties interface{})
}

A CloudFormation `AWS::GlobalAccelerator::Listener`.

The `AWS::GlobalAccelerator::Listener` resource is a Global Accelerator resource type that contains information about how you create a listener to process inbound connections from clients to an accelerator. Connections arrive to assigned static IP addresses on a port, port range, or list of port ranges that you specify.

TODO: EXAMPLE

func NewCfnListener

func NewCfnListener(scope constructs.Construct, id *string, props *CfnListenerProps) CfnListener

Create a new `AWS::GlobalAccelerator::Listener`.

type CfnListenerProps

type CfnListenerProps struct {
	// The Amazon Resource Name (ARN) of your accelerator.
	AcceleratorArn *string `json:"acceleratorArn" yaml:"acceleratorArn"`
	// The list of port ranges for the connections from clients to the accelerator.
	PortRanges interface{} `json:"portRanges" yaml:"portRanges"`
	// The protocol for the connections from clients to the accelerator.
	Protocol *string `json:"protocol" yaml:"protocol"`
	// Client affinity lets you direct all requests from a user to the same endpoint, if you have stateful applications, regardless of the port and protocol of the client request.
	//
	// Client affinity gives you control over whether to always route each client to the same specific endpoint.
	//
	// AWS Global Accelerator uses a consistent-flow hashing algorithm to choose the optimal endpoint for a connection. If client affinity is `NONE` , Global Accelerator uses the "five-tuple" (5-tuple) properties—source IP address, source port, destination IP address, destination port, and protocol—to select the hash value, and then chooses the best endpoint. However, with this setting, if someone uses different ports to connect to Global Accelerator, their connections might not be always routed to the same endpoint because the hash value changes.
	//
	// If you want a given client to always be routed to the same endpoint, set client affinity to `SOURCE_IP` instead. When you use the `SOURCE_IP` setting, Global Accelerator uses the "two-tuple" (2-tuple) properties— source (client) IP address and destination IP address—to select the hash value.
	//
	// The default value is `NONE` .
	ClientAffinity *string `json:"clientAffinity" yaml:"clientAffinity"`
}

Properties for defining a `CfnListener`.

TODO: EXAMPLE

type CfnListener_PortRangeProperty

type CfnListener_PortRangeProperty struct {
	// The first port in the range of ports, inclusive.
	FromPort *float64 `json:"fromPort" yaml:"fromPort"`
	// The last port in the range of ports, inclusive.
	ToPort *float64 `json:"toPort" yaml:"toPort"`
}

A complex type for a range of ports for a listener.

TODO: EXAMPLE

type ClientAffinity

type ClientAffinity string

Client affinity gives you control over whether to always route each client to the same specific endpoint. See: https://docs.aws.amazon.com/global-accelerator/latest/dg/about-listeners.html#about-listeners-client-affinity

const (
	ClientAffinity_NONE      ClientAffinity = "NONE"
	ClientAffinity_SOURCE_IP ClientAffinity = "SOURCE_IP"
)

type ConnectionProtocol

type ConnectionProtocol string

The protocol for the connections from clients to the accelerator.

const (
	ConnectionProtocol_TCP ConnectionProtocol = "TCP"
	ConnectionProtocol_UDP ConnectionProtocol = "UDP"
)

type EndpointGroup

type EndpointGroup interface {
	awscdk.Resource
	IEndpointGroup
	EndpointGroupArn() *string
	EndpointGroupName() *string
	Endpoints() *[]IEndpoint
	Env() *awscdk.ResourceEnvironment
	Node() constructs.Node
	PhysicalName() *string
	Stack() awscdk.Stack
	AddEndpoint(endpoint IEndpoint)
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy)
	ConnectionsPeer(id *string, vpc awsec2.IVpc) awsec2.IPeer
	GeneratePhysicalName() *string
	GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string
	GetResourceNameAttribute(nameAttr *string) *string
	ToString() *string
}

EndpointGroup construct.

TODO: EXAMPLE

func NewEndpointGroup

func NewEndpointGroup(scope constructs.Construct, id *string, props *EndpointGroupProps) EndpointGroup

type EndpointGroupOptions

type EndpointGroupOptions struct {
	// Name of the endpoint group.
	EndpointGroupName *string `json:"endpointGroupName" yaml:"endpointGroupName"`
	// Initial list of endpoints for this group.
	Endpoints *[]IEndpoint `json:"endpoints" yaml:"endpoints"`
	// The time between health checks for each endpoint.
	//
	// Must be either 10 or 30 seconds.
	HealthCheckInterval awscdk.Duration `json:"healthCheckInterval" yaml:"healthCheckInterval"`
	// The ping path for health checks (if the protocol is HTTP(S)).
	HealthCheckPath *string `json:"healthCheckPath" yaml:"healthCheckPath"`
	// The port used to perform health checks.
	HealthCheckPort *float64 `json:"healthCheckPort" yaml:"healthCheckPort"`
	// The protocol used to perform health checks.
	HealthCheckProtocol HealthCheckProtocol `json:"healthCheckProtocol" yaml:"healthCheckProtocol"`
	// The number of consecutive health checks required to set the state of a healthy endpoint to unhealthy, or to set an unhealthy endpoint to healthy.
	HealthCheckThreshold *float64 `json:"healthCheckThreshold" yaml:"healthCheckThreshold"`
	// Override the destination ports used to route traffic to an endpoint.
	//
	// Unless overridden, the port used to hit the endpoint will be the same as the port
	// that traffic arrives on at the listener.
	PortOverrides *[]*PortOverride `json:"portOverrides" yaml:"portOverrides"`
	// The AWS Region where the endpoint group is located.
	Region *string `json:"region" yaml:"region"`
	// The percentage of traffic to send to this AWS Region.
	//
	// The percentage is applied to the traffic that would otherwise have been
	// routed to the Region based on optimal routing. Additional traffic is
	// distributed to other endpoint groups for this listener.
	TrafficDialPercentage *float64 `json:"trafficDialPercentage" yaml:"trafficDialPercentage"`
}

Basic options for creating a new EndpointGroup.

TODO: EXAMPLE

type EndpointGroupProps

type EndpointGroupProps struct {
	// Name of the endpoint group.
	EndpointGroupName *string `json:"endpointGroupName" yaml:"endpointGroupName"`
	// Initial list of endpoints for this group.
	Endpoints *[]IEndpoint `json:"endpoints" yaml:"endpoints"`
	// The time between health checks for each endpoint.
	//
	// Must be either 10 or 30 seconds.
	HealthCheckInterval awscdk.Duration `json:"healthCheckInterval" yaml:"healthCheckInterval"`
	// The ping path for health checks (if the protocol is HTTP(S)).
	HealthCheckPath *string `json:"healthCheckPath" yaml:"healthCheckPath"`
	// The port used to perform health checks.
	HealthCheckPort *float64 `json:"healthCheckPort" yaml:"healthCheckPort"`
	// The protocol used to perform health checks.
	HealthCheckProtocol HealthCheckProtocol `json:"healthCheckProtocol" yaml:"healthCheckProtocol"`
	// The number of consecutive health checks required to set the state of a healthy endpoint to unhealthy, or to set an unhealthy endpoint to healthy.
	HealthCheckThreshold *float64 `json:"healthCheckThreshold" yaml:"healthCheckThreshold"`
	// Override the destination ports used to route traffic to an endpoint.
	//
	// Unless overridden, the port used to hit the endpoint will be the same as the port
	// that traffic arrives on at the listener.
	PortOverrides *[]*PortOverride `json:"portOverrides" yaml:"portOverrides"`
	// The AWS Region where the endpoint group is located.
	Region *string `json:"region" yaml:"region"`
	// The percentage of traffic to send to this AWS Region.
	//
	// The percentage is applied to the traffic that would otherwise have been
	// routed to the Region based on optimal routing. Additional traffic is
	// distributed to other endpoint groups for this listener.
	TrafficDialPercentage *float64 `json:"trafficDialPercentage" yaml:"trafficDialPercentage"`
	// The Amazon Resource Name (ARN) of the listener.
	Listener IListener `json:"listener" yaml:"listener"`
}

Property of the EndpointGroup.

TODO: EXAMPLE

type HealthCheckProtocol

type HealthCheckProtocol string

The protocol for the connections from clients to the accelerator.

const (
	HealthCheckProtocol_TCP   HealthCheckProtocol = "TCP"
	HealthCheckProtocol_HTTP  HealthCheckProtocol = "HTTP"
	HealthCheckProtocol_HTTPS HealthCheckProtocol = "HTTPS"
)

type IAccelerator

type IAccelerator interface {
	awscdk.IResource
	// The ARN of the accelerator.
	AcceleratorArn() *string
	// The Domain Name System (DNS) name that Global Accelerator creates that points to your accelerator's static IP addresses.
	DnsName() *string
}

The interface of the Accelerator.

func Accelerator_FromAcceleratorAttributes

func Accelerator_FromAcceleratorAttributes(scope constructs.Construct, id *string, attrs *AcceleratorAttributes) IAccelerator

import from attributes.

type IEndpoint

type IEndpoint interface {
	// Render the endpoint to an endpoint configuration.
	RenderEndpointConfiguration() interface{}
	// The region where the endpoint is located.
	//
	// If the region cannot be determined, `undefined` is returned
	Region() *string
}

An endpoint for the endpoint group.

Implementations of `IEndpoint` can be found in the `aws-globalaccelerator-endpoints` package.

type IEndpointGroup

type IEndpointGroup interface {
	awscdk.IResource
	// EndpointGroup ARN.
	EndpointGroupArn() *string
}

The interface of the EndpointGroup.

func EndpointGroup_FromEndpointGroupArn

func EndpointGroup_FromEndpointGroupArn(scope constructs.Construct, id *string, endpointGroupArn *string) IEndpointGroup

import from ARN.

type IListener

type IListener interface {
	awscdk.IResource
	// The ARN of the listener.
	ListenerArn() *string
}

Interface of the Listener.

func Listener_FromListenerArn

func Listener_FromListenerArn(scope constructs.Construct, id *string, listenerArn *string) IListener

import from ARN.

type Listener

type Listener interface {
	awscdk.Resource
	IListener
	Env() *awscdk.ResourceEnvironment
	ListenerArn() *string
	ListenerName() *string
	Node() constructs.Node
	PhysicalName() *string
	Stack() awscdk.Stack
	AddEndpointGroup(id *string, options *EndpointGroupOptions) EndpointGroup
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy)
	GeneratePhysicalName() *string
	GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string
	GetResourceNameAttribute(nameAttr *string) *string
	ToString() *string
}

The construct for the Listener.

TODO: EXAMPLE

func NewListener

func NewListener(scope constructs.Construct, id *string, props *ListenerProps) Listener

type ListenerOptions

type ListenerOptions struct {
	// The list of port ranges for the connections from clients to the accelerator.
	PortRanges *[]*PortRange `json:"portRanges" yaml:"portRanges"`
	// Client affinity to direct all requests from a user to the same endpoint.
	//
	// If you have stateful applications, client affinity lets you direct all
	// requests from a user to the same endpoint.
	//
	// By default, each connection from each client is routed to seperate
	// endpoints. Set client affinity to SOURCE_IP to route all connections from
	// a single client to the same endpoint.
	ClientAffinity ClientAffinity `json:"clientAffinity" yaml:"clientAffinity"`
	// Name of the listener.
	ListenerName *string `json:"listenerName" yaml:"listenerName"`
	// The protocol for the connections from clients to the accelerator.
	Protocol ConnectionProtocol `json:"protocol" yaml:"protocol"`
}

Construct options for Listener.

TODO: EXAMPLE

type ListenerProps

type ListenerProps struct {
	// The list of port ranges for the connections from clients to the accelerator.
	PortRanges *[]*PortRange `json:"portRanges" yaml:"portRanges"`
	// Client affinity to direct all requests from a user to the same endpoint.
	//
	// If you have stateful applications, client affinity lets you direct all
	// requests from a user to the same endpoint.
	//
	// By default, each connection from each client is routed to seperate
	// endpoints. Set client affinity to SOURCE_IP to route all connections from
	// a single client to the same endpoint.
	ClientAffinity ClientAffinity `json:"clientAffinity" yaml:"clientAffinity"`
	// Name of the listener.
	ListenerName *string `json:"listenerName" yaml:"listenerName"`
	// The protocol for the connections from clients to the accelerator.
	Protocol ConnectionProtocol `json:"protocol" yaml:"protocol"`
	// The accelerator for this listener.
	Accelerator IAccelerator `json:"accelerator" yaml:"accelerator"`
}

Construct properties for Listener.

TODO: EXAMPLE

type PortOverride

type PortOverride struct {
	// The endpoint port that you want a listener port to be mapped to.
	//
	// This is the port on the endpoint, such as the Application Load Balancer or Amazon EC2 instance.
	EndpointPort *float64 `json:"endpointPort" yaml:"endpointPort"`
	// The listener port that you want to map to a specific endpoint port.
	//
	// This is the port that user traffic arrives to the Global Accelerator on.
	ListenerPort *float64 `json:"listenerPort" yaml:"listenerPort"`
}

Override specific listener ports used to route traffic to endpoints that are part of an endpoint group.

TODO: EXAMPLE

type PortRange

type PortRange struct {
	// The first port in the range of ports, inclusive.
	FromPort *float64 `json:"fromPort" yaml:"fromPort"`
	// The last port in the range of ports, inclusive.
	ToPort *float64 `json:"toPort" yaml:"toPort"`
}

The list of port ranges for the connections from clients to the accelerator.

TODO: EXAMPLE

type RawEndpoint

type RawEndpoint interface {
	IEndpoint
	Region() *string
	RenderEndpointConfiguration() interface{}
}

Untyped endpoint implementation.

Prefer using the classes in the `aws-globalaccelerator-endpoints` package instead, as they accept typed constructs. You can use this class if you want to use an endpoint type that does not have an appropriate class in that package yet.

TODO: EXAMPLE

func NewRawEndpoint

func NewRawEndpoint(props *RawEndpointProps) RawEndpoint

type RawEndpointProps

type RawEndpointProps struct {
	// Identifier of the endpoint.
	//
	// Load balancer ARN, instance ID or EIP allocation ID.
	EndpointId *string `json:"endpointId" yaml:"endpointId"`
	// Forward the client IP address.
	//
	// GlobalAccelerator will create Network Interfaces in your VPC in order
	// to preserve the client IP address.
	//
	// Only applies to Application Load Balancers and EC2 instances.
	//
	// Client IP address preservation is supported only in specific AWS Regions.
	// See the GlobalAccelerator Developer Guide for a list.
	PreserveClientIp *bool `json:"preserveClientIp" yaml:"preserveClientIp"`
	// The region where this endpoint is located.
	Region *string `json:"region" yaml:"region"`
	// Endpoint weight across all endpoints in the group.
	//
	// Must be a value between 0 and 255.
	Weight *float64 `json:"weight" yaml:"weight"`
}

Properties for RawEndpoint.

TODO: EXAMPLE

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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