AwsGlobalaccelerator

Service-level AWS Global Accelerator component.

Remarks

The component manages a standard Global Accelerator, its TCP listeners, and regional ALB endpoint groups. It does not manage custom-routing accelerators.

Naming:

  • Root type jobcloud:aws:AwsGlobalaccelerator has capability global-accelerator and shared logical/provider identity args.name; target ${env}-${projectHash}-global-accelerator-${sanitiseNamePart(args.name)}.
  • aws:globalaccelerator/accelerator:Accelerator has tuple [args.name]; target ${env}-${projectHash}-${sanitiseNamePart(args.name)}. Its provider name uses stackAndPurpose through buildAwsNameFromLiteralCamelCasePurpose, producing ${env}-${projectHash}-<purpose> and restricting purpose to 51 characters for the AWS 64-character limit.
  • Parent jobcloud:aws:AwsGlobalaccelerator creates aws:globalaccelerator/listener:Listener with tuple [args.name, listener map key], and aws:globalaccelerator/endpointGroup:EndpointGroup with tuple [args.name, listener map key, endpoint-group map key]. Both are safe initial identities, and their groups perform collection-wide collision preflight.
  • Listener and endpoint-group provider identifiers are provider-generated; no provider name is set.

Example

CODE
import { AwsGlobalaccelerator } from '@jobcloud/aws-global-accelerator';

const accelerator = new AwsGlobalaccelerator({
  name: 'publicIngress',
  allowInternetExposure: true,
  listeners: {
    https: {
      protocol: 'TCP',
      portRanges: [{ fromPort: 443, toPort: 443 }],
      endpointGroups: {
        euWest1: {
          region: 'eu-west-1',
          endpoints: { application: { albName: 'application-alb' } },
        },
      },
    },
  },
});

Constructors

new AwsGlobalaccelerator( args: AwsGlobalacceleratorArgs, options?: ComponentResourceOptions, ): AwsGlobalaccelerator

Parameters

  • args (AwsGlobalacceleratorArgs)
  • options (ComponentResourceOptions, optional)

Returns

AwsGlobalaccelerator

Hierarchy

  • ComponentResource
  • AwsGlobalaccelerator

Properties

acceleratorArn: Output<string>

readonly

Managed accelerator ARN.

dnsName: Output<string>

readonly

Managed accelerator DNS name.

dualStackDnsName: Output<string>

readonly

Managed accelerator dual-stack DNS name.

endpointGroupArnsByKey: Record<string, pulumi.Output<string>>

readonly

Endpoint-group ARNs keyed as <listener key>.<endpoint-group key>.

hostedZoneId: Output<string>

readonly

Route53 hosted-zone ID for accelerator alias records.

ipSets: Output<AcceleratorIpSet[]>

readonly

Allocated accelerator IP sets.

listenerArnsByKey: Record<string, pulumi.Output<string>>

readonly

Listener ARNs keyed by listener input identity.

urn: Output<string>

readonly

Inherited from urn

The stable logical URN used to distinctly address a resource, both before and after deployments.

Methods

getData(): Promise<any>

protectedasync

Inherited from getData

Retrieves the data produces by initialize. The data is immediately available in a derived class's constructor after the super(...) call to ComponentResource.

Returns

  • Promise<any>

getProvider(moduleMember: string): ProviderResource | undefined

Inherited from getProvider

Returns the provider for the given module member, if one exists.

Parameters

  • moduleMember (string)

Returns

  • ProviderResource | undefined

initialize( args: Inputs, opts?: ComponentResourceOptions, name?: string, type?: string, ): Promise<any>

protectedasync

Inherited from initialize

Can be overridden by a subclass to asynchronously initialize data for this component automatically when constructed. The data will be available immediately for subclass constructors to use. To access the data use getData.

Parameters

  • args (Inputs)
  • opts (ComponentResourceOptions, optional)
  • name (string, optional)
  • type (string, optional)

Returns

  • Promise<any>

registerOutputs( outputs?: Inputs | Promise<Inputs> | Output<Inputs>, ): void

protected

Inherited from registerOutputs

Registers synthetic outputs that a component has initialized, usually by allocating other child sub-resources and propagating their resulting property values.

Component resources can call this at the end of their constructor to indicate that they are done creating child resources. This is not strictly necessary as this will automatically be called after the initialize method completes.

Parameters

  • outputs (Inputs | Promise<Inputs> | Output<Inputs>, optional)

Returns

  • void

Static Methods

isInstance(obj: any): obj is ComponentResource<any>

static

Inherited from isInstance

Returns true if the given object is a CustomResource. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

Parameters

  • obj (any)

Returns

  • obj is ComponentResource<any>