sparse-intern-71089
06/13/2019, 5:13 PMproud-alarm-92546
06/13/2019, 5:13 PMimport * as pulumi from "@pulumi/pulumi";
// import * as aws from "@pulumi/aws";
import * as awsx from "@pulumi/awsx";
// make this a config.
const vpcStack = new pulumi.StackReference(`test-vpc1`);
export const vpc = vpcStack.getOutput("vpc");
export const vpcId = vpcStack.getOutput("vpcId");
export const subnets = vpcStack.getOutput("vpcPublicSubnetIds");
// Create an ECS Fargate cluster.
const cluster = new awsx.ecs.Cluster("cluster",
{
// must be an awsx.ec2.Vpc only.
vpc: vpc
}
);
Diagnostics:
pulumi:pulumi:Stack (test_service-test-service1):
error: Running program '/Users/draistrick/git/tg/devops-infra/test_service' failed with an unhandled exception:
TSError: ⨯ Unable to compile TypeScript:
index.ts(17,5): error TS2345: Argument of type '{ vpc: Output<any>; }' is not assignable to parameter of type 'ClusterArgs'.
Types of property 'vpc' are incompatible.
Type 'Output<any>' is not assignable to type 'Vpc | undefined'.
Type 'OutputInstance<any>' is missing the following properties from type 'Vpc': publicSubnetIds, privateSubnetIds, isolatedSubnetIds, vpc, and 12 more.
proud-alarm-92546
06/13/2019, 5:14 PM// <https://pulumi.io/reference/crosswalk/aws/vpc/>
import * as awsx from "@pulumi/awsx";
// Name tags are not created on IGW, DHCP option sets, route tables, ACL
// <https://github.com/pulumi/pulumi-awsx/issues/322>
// trying to
export const vpc = new awsx.ec2.Vpc("custom", {
cidrBlock: "10.118.0.0/16",
numberOfAvailabilityZones: 2,
// no ipv6 default routes created OR netblocks added to subnets. sigh.
// <https://github.com/pulumi/pulumi-awsx/issues/323>
// so you can't do dualstack anything right now with this.
assignGeneratedIpv6CidrBlock: true,
// defaults:
// DNS resolution Enabled
// DNS hostnames Enabled
// you can't safely change, or at least a change that adds, this. you'll get subnet conflicts
// subnets: [{ type: "public" }],
// <https://github.com/pulumi/pulumi-awsx/issues/321>
subnets: [{ type: "public" }, { type: "private" }],
tags: { Name: "custom_name"},
});
// Export a few resulting fields to make them easy to use:
export const vpcId = vpc.id;
export const vpcPrivateSubnetIds = vpc.privateSubnetIds;
export const vpcPublicSubnetIds = vpc.publicSubnetIds;
proud-alarm-92546
06/13/2019, 5:23 PMlemon-spoon-91807
06/13/2019, 5:23 PMlemon-spoon-91807
06/13/2019, 5:24 PMlemon-spoon-91807
06/13/2019, 5:25 PMlemon-spoon-91807
06/13/2019, 5:25 PMlemon-spoon-91807
06/13/2019, 5:25 PMlemon-spoon-91807
06/13/2019, 5:25 PMproud-alarm-92546
06/13/2019, 5:26 PMlemon-spoon-91807
06/13/2019, 5:26 PMlemon-spoon-91807
06/13/2019, 5:26 PMlemon-spoon-91807
06/13/2019, 5:26 PMexport const vpcId = vpcStack.getOutput("vpcId");
const vpc = Vpc.fromExistingIds(...)
proud-alarm-92546
06/13/2019, 5:27 PM// vpcObject = awsx.ec2.Vpc.fromExistingIds("vpcObject", {
// vpcId: vpcId,
// // this doesnt get populated automatically, and -fargateservice- only reads this from cluster.vpc.[pubic|private]....
// publicSubnetIds: subnets.apply(out => out)
// // privateSubnetIds: ...
// });
lemon-spoon-91807
06/13/2019, 5:27 PMproud-alarm-92546
06/13/2019, 5:27 PMlemon-spoon-91807
06/13/2019, 5:27 PMlemon-spoon-91807
06/13/2019, 5:27 PMproud-alarm-92546
06/13/2019, 5:27 PMlemon-spoon-91807
06/13/2019, 5:28 PMlemon-spoon-91807
06/13/2019, 5:28 PMproud-alarm-92546
06/13/2019, 5:28 PMproud-alarm-92546
06/13/2019, 5:28 PMproud-alarm-92546
06/13/2019, 5:29 PMproud-alarm-92546
06/13/2019, 5:29 PMimport * as pulumi from "@pulumi/pulumi";
// import * as aws from "@pulumi/aws";
import * as awsx from "@pulumi/awsx";
// make this a config.
const vpcStack = new pulumi.StackReference(`test-vpc1`);
// export const vpc = vpcStack.getOutput("vpc");
export const vpcId = vpcStack.getOutput("vpcId");
export const subnets = vpcStack.getOutput("vpcPublicSubnetIds");
vpcObject = awsx.ec2.Vpc.fromExistingIds("vpcObject", {
vpcId: vpcId,
publicSubnetIds: subnets
});
const cluster = new awsx.ecs.Cluster(namePrefix+"cluster",
{
// must be an awsx.ec2.Vpc only.
vpc: vpcObject
}
);
proud-alarm-92546
06/13/2019, 5:29 PMproud-alarm-92546
06/13/2019, 5:29 PMproud-alarm-92546
06/13/2019, 5:29 PMTSError: ⨯ Unable to compile TypeScript:
index.ts(17,5): error TS2345: Argument of type '{ vpc: Output<any>; }' is not assignable to parameter of type 'ClusterArgs'.
Types of property 'vpc' are incompatible.
Type 'Output<any>' is not assignable to type 'Vpc | undefined'.
Type 'OutputInstance<any>' is missing the following properties from type 'Vpc': publicSubnetIds, privateSubnetIds, isolatedSubnetIds, vpc, and 12 more.
lemon-spoon-91807
06/13/2019, 5:30 PMproud-alarm-92546
06/13/2019, 5:31 PMvpcObject = awsx.ec2.Vpc.fromExistingIds("vpcObject", {
vpcId: vpcId,
publicSubnetIds: subnets
});
proud-alarm-92546
06/13/2019, 5:31 PMlemon-spoon-91807
06/13/2019, 5:32 PMproud-alarm-92546
06/13/2019, 5:32 PMerror: Running program '/Users/draistrick/git/tg/devops-infra/test_service' failed with an unhandled exception:
TSError: ⨯ Unable to compile TypeScript:
index.ts(15,9): error TS2322: Type 'Output<any>' is not assignable to type 'Input<string>[] | undefined'.
Type 'OutputInstance<any>' is missing the following properties from type 'Input<string>[]': length, pop, push, concat, and 26 more.
proud-alarm-92546
06/13/2019, 5:32 PMproud-alarm-92546
06/13/2019, 5:32 PMpublicSubnetIds: subnets
lemon-spoon-91807
06/13/2019, 5:32 PMlemon-spoon-91807
06/13/2019, 5:32 PMlemon-spoon-91807
06/13/2019, 5:32 PMproud-alarm-92546
06/13/2019, 5:32 PMlemon-spoon-91807
06/13/2019, 5:32 PMproud-alarm-92546
06/13/2019, 5:33 PMlemon-spoon-91807
06/13/2019, 5:33 PMlemon-spoon-91807
06/13/2019, 5:33 PMlemon-spoon-91807
06/13/2019, 5:33 PMlemon-spoon-91807
06/13/2019, 5:34 PMconst vpcStack = new pulumi.StackReference(`test-vpc1`);
vpcStack.outputs.apply(o => console.log(JSON.stringify(o)));
proud-alarm-92546
06/13/2019, 5:35 PMproud-alarm-92546
06/13/2019, 5:35 PMlemon-spoon-91807
06/13/2019, 5:36 PMlemon-spoon-91807
06/13/2019, 5:36 PM"vpcPublicSubnetIds":["subnet-0ce946c7c70d9b413","subnet-082c54f7d53c685f8"]
lemon-spoon-91807
06/13/2019, 5:36 PMproud-alarm-92546
06/13/2019, 5:36 PMlemon-spoon-91807
06/13/2019, 5:36 PMlemon-spoon-91807
06/13/2019, 5:36 PMlemon-spoon-91807
06/13/2019, 5:36 PMlemon-spoon-91807
06/13/2019, 5:36 PMproud-alarm-92546
06/13/2019, 5:36 PMlemon-spoon-91807
06/13/2019, 5:36 PMlemon-spoon-91807
06/13/2019, 5:37 PMlemon-spoon-91807
06/13/2019, 5:37 PMlemon-spoon-91807
06/13/2019, 5:37 PMlemon-spoon-91807
06/13/2019, 5:37 PMOutput<string[]>
not a string[]
lemon-spoon-91807
06/13/2019, 5:37 PMproud-alarm-92546
06/13/2019, 5:38 PMlemon-spoon-91807
06/13/2019, 5:38 PMlemon-spoon-91807
06/13/2019, 5:38 PMproud-alarm-92546
06/13/2019, 5:39 PMhttps://www.sweetwater.com/sweetcare/media/2005/10/Screen-Shot-2016-09-28-at-2.33.39-PM.png▾
lemon-spoon-91807
06/13/2019, 5:47 PMlemon-spoon-91807
06/13/2019, 5:48 PMlemon-spoon-91807
06/13/2019, 5:48 PMlemon-spoon-91807
06/13/2019, 5:56 PMlemon-spoon-91807
06/13/2019, 5:56 PMlemon-spoon-91807
06/13/2019, 5:56 PMconst vpcStack = new pulumi.StackReference(`test-vpc1`);
lemon-spoon-91807
06/13/2019, 5:56 PMlemon-spoon-91807
06/13/2019, 5:56 PMlemon-spoon-91807
06/13/2019, 6:05 PMlemon-spoon-91807
06/13/2019, 6:47 PMproud-alarm-92546
06/13/2019, 8:08 PMlemon-spoon-91807
06/13/2019, 8:08 PMproud-alarm-92546
06/13/2019, 8:09 PMproud-alarm-92546
06/13/2019, 8:09 PMlemon-spoon-91807
06/13/2019, 8:09 PMlemon-spoon-91807
06/13/2019, 8:09 PMlemon-spoon-91807
06/13/2019, 8:09 PMproud-alarm-92546
06/13/2019, 8:10 PMlemon-spoon-91807
06/13/2019, 8:10 PMproud-alarm-92546
06/13/2019, 8:15 PMlemon-spoon-91807
06/13/2019, 8:16 PMlemon-spoon-91807
06/13/2019, 8:16 PMproud-alarm-92546
06/13/2019, 8:22 PMproud-alarm-92546
06/13/2019, 9:31 PMlemon-spoon-91807
06/13/2019, 9:31 PMlemon-spoon-91807
06/13/2019, 9:31 PMlemon-spoon-91807
06/13/2019, 9:31 PMlemon-spoon-91807
06/13/2019, 9:32 PM(async () => { ... })();
lemon-spoon-91807
06/13/2019, 9:32 PMawait (<any>vpcPublicSubnetIds).promise();
lemon-spoon-91807
06/13/2019, 9:32 PMproud-alarm-92546
06/13/2019, 9:33 PMproud-alarm-92546
06/13/2019, 9:33 PMlemon-spoon-91807
06/13/2019, 9:33 PMlemon-spoon-91807
06/13/2019, 9:33 PMlemon-spoon-91807
06/13/2019, 9:34 PMproud-alarm-92546
06/13/2019, 9:34 PMproud-alarm-92546
06/13/2019, 9:34 PMproud-alarm-92546
06/13/2019, 9:36 PMlemon-spoon-91807
06/13/2019, 9:36 PMlemon-spoon-91807
06/13/2019, 9:36 PMlemon-spoon-91807
06/13/2019, 9:37 PMlemon-spoon-91807
06/13/2019, 9:37 PMlemon-spoon-91807
06/13/2019, 9:37 PMproud-alarm-92546
06/13/2019, 9:41 PMlemon-spoon-91807
06/13/2019, 9:41 PMlemon-spoon-91807
06/13/2019, 9:42 PMproud-alarm-92546
06/13/2019, 9:42 PM