sparse-intern-71089
11/03/2021, 4:14 PMclever-painter-96148
11/03/2021, 4:16 PMsteep-portugal-37539
11/03/2021, 4:18 PMdependsOn?: Input<Input<Resource>[]> | Input<Resource>;
so just a resource should workclever-painter-96148
11/03/2021, 4:30 PMbored-barista-23480
11/04/2021, 8:54 AMdependsOn
option. I'm just trying to use imported resources as an input.clever-painter-96148
11/04/2021, 9:55 AMbored-barista-23480
11/05/2021, 12:10 PMcluster
and clusher
). First project:
def createSubnet(number: int, vpc: aws.ec2.Vpc) -> aws.ec2.Subnet:
return aws.ec2.Subnet(f"SATORI-subnet-{number}",
vpc_id = vpc.id,
cidr_block = getSubnetCIDR(number),
availability_zone = aws.get_region().name + availabilityZones[number],
map_public_ip_on_launch = True,
tags = {
"<http://kubernetes.io/role/elb|kubernetes.io/role/elb>" : "1",
f"<http://kubernetes.io/cluster/{clusterName}|kubernetes.io/cluster/{clusterName}>" : "shared"
}
)
def createNodeRole(name: str) -> aws.iam.Role:
role = aws.iam.Role(name,
assume_role_policy = json.dumps({
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AllowAssumeRole",
"Effect": "Allow",
"Principal": {
"Service": "<http://ec2.amazonaws.com|ec2.amazonaws.com>"
},
"Action": "sts:AssumeRole"
}
]
})
)
for i, policy in enumerate(managedPolicyARNs):
aws.iam.RolePolicyAttachment(f'{name}-policy-{i}',
aws.iam.RolePolicyAttachmentArgs(
policy_arn = policy,
role = role,
)
)
return role
# do stuff
subnets = [ createSubnet(number, vpc) for number in range(3) ]
clusherNodeRole = iam.createNodeRole(f"SATORI-clusher-role")
# do stuff
cluster = eks.Cluster("SATORI-cluster",
name = clusterName,
skip_default_node_group = True,
create_oidc_provider = True,
subnet_ids = [ subnet.id for subnet in subnets ],
vpc_id = vpc.id,
instance_roles = [ clusherNodeRole, backendNodeRole, \
frontendNodeRole, accessoryNodeRole ]
)
# do stuff...
pulumi.export("subnetIds", map(lambda sn: sn.id, subnets))
pulumi.export("clusherNodeRole", clusherNodeRole)
pulumi.export("clusterCore", cluster.core)
Second project:
clusterCore = initStack.get_output("clusterCore")
subnetIds = initStack.get_output("subnetIds")
clusherNodeRole = initStack.get_output("clusherNodeRole")
backendNodeGroup = eks.ManagedNodeGroup("clusher-node-group",
cluster = clusterCore,
node_role = "clusherNodeRole",
instance_types = [ backendType ],
node_group_name = "clusher-node-group",
subnet_ids = subnetIds
],
labels = {
"nodeType" : "clusher"
},
scaling_config = aws.eks.NodeGroupScalingConfigArgs(
desired_size = config.backendSize["desiredSize"],
min_size = config.backendSize["minimumSize"],
max_size = config.backendSize["maximumSize"]
),
tags = {
"<http://k8s.io/cluster-autoscaler/MyCluster|k8s.io/cluster-autoscaler/MyCluster>" : "owned",
"<http://k8s.io/cluster-autoscaler/enabled|k8s.io/cluster-autoscaler/enabled>" : "TRUE"
}
)