kind-jelly-61624
02/28/2023, 11:45 PMbillowy-army-68599
02/28/2023, 11:47 PMkind-jelly-61624
02/28/2023, 11:52 PMbillowy-army-68599
02/28/2023, 11:52 PMkind-jelly-61624
02/28/2023, 11:53 PMbillowy-army-68599
02/28/2023, 11:54 PMkind-jelly-61624
02/28/2023, 11:55 PMdef attachALB(__self__, attach_alb_args):
if attach_alb_args.inputs.alb_logs_bucket is not None:
bucket = pulumi_aws.s3.get_bucket(bucket=attach_alb_args.inputs.alb_logs_bucket)
rcb.components.s3.BucketPolicy(
component_name="enable-alb-access-logs",
resource_type="rcb:s3:BucketPolicy",
rough_inputs={
"policy": {
"Statements": rcb.components.s3.get_bucket_policy_statements(
{
"statement_names": ["allow_load_balancer_access_logs"],
"values": {
"bucket_id": bucket.id,
"bucket_arn": bucket.arn,
"prefix": "alb_access_logs",
"aws_account_id": rcb_utils.PulumiHelpers.get_aws_account_id()
}
}
)
},
"bucket": attach_alb_args.inputs.alb_logs_bucket
}
)
alb_security_group = pulumi_aws.ec2.SecurityGroup(
f"{rcb_utils.naming_factory.get_resource_name('alb-sg')}",
vpc_id=attach_alb_args.inputs.vpc_id
)
instance_security_group = pulumi_aws.ec2.SecurityGroup(
f"{rcb_utils.naming_factory.get_resource_name('instance-sg')}",
vpc_id=attach_alb_args.inputs.vpc_id
)
alb = pulumi_aws.lb.LoadBalancer(f"{rcb_utils.naming_factory.get_resource_name('alb')}",
internal=attach_alb_args.inputs.internal,
load_balancer_type="application",
security_groups=[alb_security_group.id],
subnets=attach_alb_args.inputs.subnets,
enable_deletion_protection=False)
pulumi_aws.ec2.NetworkInterfaceSecurityGroupAttachment(
f"{rcb_utils.naming_factory.get_resource_name('alb-sg')}",
security_group_id=instance_security_group.id,
network_interface_id=__self__.outputs["instance"].primary_network_interface_id)
for l in attach_alb_args.inputs.listener_to_target_mapping:
pulumi_aws.ec2.SecurityGroupRule(f"{rcb_utils.naming_factory.get_resource_name('allow-ingress-to-alb')}",
type="ingress",
from_port=l["listener_port"],
to_port=l["listener_port"],
protocol="TCP",
cidr_blocks=l["listener_cidr_blocks"],
security_group_id=alb_security_group.id)
pulumi_aws.ec2.SecurityGroupRule(f"{rcb_utils.naming_factory.get_resource_name('allow-ingress-to-instance')}",
type="ingress",
from_port=l["target_port"],
to_port=l["target_port"],
protocol="TCP",
source_security_group_id=alb_security_group.id,
security_group_id=instance_security_group.id)
target_group = pulumi_aws.lb.TargetGroup(f"{rcb_utils.naming_factory.get_resource_name('target-group')}",
port=l["target_port"],
protocol=l["target_protocol"],
health_check=attach_alb_args.inputs.health_check,
vpc_id=attach_alb_args.inputs.vpc_id)
pulumi_aws.lb.TargetGroupAttachment(
f"{rcb_utils.naming_factory.get_resource_name('target-group-attachment')}",
target_group_arn=target_group.arn,
target_id=__self__.outputs["instance"].id,
port=l["target_port"])
pulumi_aws.lb.Listener(f"{rcb_utils.naming_factory.get_resource_name('listener')}",
load_balancer_arn=alb.arn,
port=l["listener_port"],
protocol=l["listener_protocol"],
# ssl_policy="ELBSecurityPolicy-2016-08",
certificate_arn=attach_alb_args.inputs.certificate_arn,
default_actions=[pulumi_aws.lb.ListenerDefaultActionArgs(
type="forward",
target_group_arn=target_group.arn,
)])
return {"outputs": {"result": alb.id}}
billowy-army-68599
03/01/2023, 12:24 AMlittle-cartoon-10569
03/01/2023, 12:27 AMkind-jelly-61624
03/01/2023, 12:28 AMdef get_resource_name(resource_type):
stack_name = helpers.PulumiHelpers.get_stack_name()
return f"{stack_name}-{resource_type}"
little-cartoon-10569
03/01/2023, 12:30 AMkind-jelly-61624
03/01/2023, 12:31 AMbillowy-army-68599
03/01/2023, 12:32 AMpulumi stack export
do you see the all the resources?
pulumi stack export | jq '.deployment.resources | length'
kind-jelly-61624
03/01/2023, 12:32 AMbillowy-army-68599
03/01/2023, 12:36 AMkind-jelly-61624
03/01/2023, 7:30 PMdef attachALB(self, args: pulumi.input_type):
return {"outputs": {"result": self}}
^^ that returns
result: "urn:pulumi:test::riotcloudbricks-test-stack::riotcloudbricks:ec2:Instance::jjjjj"
little-cartoon-10569
03/01/2023, 8:12 PMkind-jelly-61624
03/01/2023, 8:36 PMlittle-cartoon-10569
03/01/2023, 8:51 PMkind-jelly-61624
03/01/2023, 8:53 PMlittle-cartoon-10569
03/01/2023, 8:59 PMself
? You should be able to refer to the entire object as constructed.
Also, isn't the special variable __self__
?
If you're able to narrow the problem down to something language-related, then #python may be able to help faster.