sparse-intern-71089
02/28/2023, 11:45 PMbillowy-army-68599
kind-jelly-61624
02/28/2023, 11:52 PMbillowy-army-68599
kind-jelly-61624
02/28/2023, 11:53 PMbillowy-army-68599
billowy-army-68599
kind-jelly-61624
02/28/2023, 11:55 PMkind-jelly-61624
02/28/2023, 11:57 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}}
kind-jelly-61624
02/28/2023, 11:58 PMkind-jelly-61624
02/28/2023, 11:58 PMkind-jelly-61624
02/28/2023, 11:59 PMbillowy-army-68599
little-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 AMlittle-cartoon-10569
03/01/2023, 12:31 AMkind-jelly-61624
03/01/2023, 12:31 AMbillowy-army-68599
pulumi stack export
do you see the all the resources?
pulumi stack export | jq '.deployment.resources | length'
kind-jelly-61624
03/01/2023, 12:32 AMkind-jelly-61624
03/01/2023, 12:35 AMbillowy-army-68599
kind-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"
kind-jelly-61624
03/01/2023, 7:46 PMlittle-cartoon-10569
03/01/2023, 8:12 PMlittle-cartoon-10569
03/01/2023, 8:13 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 #CDE799L1M may be able to help faster.No matter how you like to participate in developer communities, Pulumi wants to meet you there. If you want to meet other Pulumi users to share use-cases and best practices, contribute code or documentation, see us at an event, or just tell a story about something cool you did with Pulumi, you are part of our community.
Powered by