Fork me on GitHub

Package @pulumi/aws-infra

Node.js:

var awsInfra = require("@pulumi/aws-infra");

ES6 modules:

import * as awsInfra from "@pulumi/aws-infra";

Index

aws.ts cluster.ts network.ts utils.ts

class Cluster

A Cluster is a general purpose ECS cluster configured to run in a provided Network.

constructor

new Cluster(name: string, args: ClusterArgs, opts?: pulumi.ResourceOptions)

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

static isInstance(obj: any): boolean

method registerOutputs

protected registerOutputs(outputs: Inputs | undefined): void

property autoScalingGroupStack

public autoScalingGroupStack?: pulumi.Resource;

The auto-scaling group that ECS Service’s should add to their dependsOn.

property ecsClusterARN

public ecsClusterARN: pulumi.Output<string>;

The ECS Cluster ARN.

property efsMountPath

public efsMountPath?: undefined | string;

The EFS host mount path if EFS is enabled on this Cluster.

property securityGroupId

public securityGroupId?: pulumi.Output<string>;

The ECS Cluster’s Security Group ID.

property urn

urn: Output<URN>;

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

class Network

Network encapsulates the configuration of an Amazon VPC. Both VPC with Public Subnet and VPC with Public and Private Subnets (NAT) configurations are supported.

constructor

new Network(name: string, args?: NetworkArgs, opts?: pulumi.ResourceOptions)

method fromVpc

public static fromVpc(name: string, vpcArgs: NetworkVpcArgs, opts?: pulumi.ResourceOptions): Network

Creates a new network using the configuration values of an existing VPC.

method getDefault

public static getDefault(opts?: pulumi.ResourceOptions): Network

Gets the default VPC for the AWS account as a Network. This first time this is called, the default network will be lazily created, using whatever options are provided in opts. All subsequent calls will return that same network even if different opts are provided.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

static isInstance(obj: any): boolean

method registerOutputs

protected registerOutputs(outputs: Inputs | undefined): void

property privateRouteTableIds

public privateRouteTableIds: pulumi.Output<string>[];

The private subnet route tables for the VPC. In case [usePrivateSubnets] == false, this will be empty.

property publicRouteTableId

public publicRouteTableId: pulumi.Output<string>;

The public subnet route table for the VPC.

property publicSubnetIds

public publicSubnetIds: pulumi.Output<string>[];

The public subnets for the VPC. In case [usePrivateSubnets] == false, these are the same as [subnets].

property securityGroupIds

public securityGroupIds: pulumi.Output<string>[];

The security group IDs for the network.

property subnetIds

public subnetIds: pulumi.Output<string>[];

The subnets in which compute should run. These are the private subnets if [usePrivateSubnets] == true, else these are the public subnets.

property urn

urn: Output<URN>;

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

property usePrivateSubnets

public usePrivateSubnets: boolean;

Whether the network includes private subnets.

property vpcId

public vpcId: pulumi.Output<string>;

The VPC id of the network.

function getAwsAz

getAwsAz(index: number): Promise<string>

function sha1hash

sha1hash(s: string): string

interface ClusterArgs

Arguments bag for creating infrastrcture for a new Cluster.

property addEFS

addEFS: boolean;

Whether to create an EFS File System to manage volumes across the cluster.

property ecsOptimizedAMIName

ecsOptimizedAMIName?: undefined | string;

The name of the ECS-optimzed AMI to use for the Container Instances in this cluster, e.g. “amzn-ami-2017.09.l-amazon-ecs-optimized”. Defaults to using the latest recommended ECS Optimized AMI, which may change over time and cause recreation of EC2 instances when new versions are release. To control when these changes are adopted, set this parameter explicitly to the version you would like to use.

See http://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html for valid values.

property instanceDockerImageVolumeSize

instanceDockerImageVolumeSize?: undefined | number;

The size (in GiB) of the EBS volume to attach to each instance to use for Docker image and metadata storage.

The default is 50 GiB.

property instanceRolePolicyARNs

instanceRolePolicyARNs?: string[];

The policy to apply to the cluster instance role.

The default is ["arn:aws:iam::aws:policy/service-role/AmazonEC2ContainerServiceforEC2Role", "arn:aws:iam::aws:policy/AmazonEC2ReadOnlyAccess"].

property instanceRootVolumeSize

instanceRootVolumeSize?: undefined | number;

The size (in GiB) of the EBS volume to attach to each instance as the root volume.

The default is 8 GiB.

property instanceSwapVolumeSize

instanceSwapVolumeSize?: undefined | number;

The size (in GiB) of the EBS volume to attach to each instance for swap space.

The default is 5 GiB.

property instanceType

instanceType?: undefined | string;

The EC2 instance type to use for the Cluster. Defaults to t2.micro.

property maxSize

maxSize?: undefined | number;

The maximum size of the cluster. Setting to 0 will prevent an EC2 AutoScalingGroup from being created. Defaults to 100.

property minSize

minSize?: undefined | number;

The minimum size of the cluster. Defaults to 2.

property network

network: ClusterNetworkArgs;

The network in which to create this cluster.

property publicKey

publicKey?: undefined | string;

Public key material for SSH access. See allowed formats at: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html If not provided, no SSH access is enabled on VMs.

interface ClusterNetworkArgs

property subnetIds

subnetIds: pulumi.Input<string>[];

The network subnets for the clusters

property vpcId

vpcId: pulumi.Input<string>;

The VPC id of the network for the cluster

interface NetworkArgs

Optional arguments that can be provided when creating a network.

property numberOfAvailabilityZones

numberOfAvailabilityZones?: undefined | number;

property usePrivateSubnets

usePrivateSubnets?: undefined | false | true;

interface NetworkVpcArgs

Arguments necessary when creating a network using Network.fromVpc.

property publicSubnetIds

publicSubnetIds: pulumi.Input<string>[];

The public subnets for the VPC. In case [usePrivateSubnets] == false, these are the same as [subnets].

property securityGroupIds

securityGroupIds: pulumi.Input<string>[];

The security group IDs for the network.

property subnetIds

subnetIds: pulumi.Input<string>[];

The network subnets for the clusters

property usePrivateSubnets

usePrivateSubnets: boolean;

Whether the network includes private subnets.

property vpcId

vpcId: pulumi.Input<string>;

The VPC id of the network for the cluster