nutritious-shampoo-16116
11/17/2020, 9:46 AMnutritious-shampoo-16116
11/17/2020, 11:16 AMpowerful-art-3002
11/20/2020, 2:07 PMdry-engine-17210
11/20/2020, 6:48 PMpubsub_topic = pubsub.Topic(
"{}-topic".format(PUBSUB_TOPIC_PREFIX)
)
and...
logging_sink = logging.ProjectSink(
resource_name="{}-sink".format(LOGGING_SINK_PREFIX),
destination="<http://pubsub.googleapis.com/{}|pubsub.googleapis.com/{}>".format(pubsub_topic.id),
filter='LOG_ID("<http://cloudaudit.googleapis.com/activity|cloudaudit.googleapis.com/activity>") OR LOG_ID("<http://externalaudit.googleapis.com/activity|externalaudit.googleapis.com/activity>") OR LOG_ID("<http://cloudaudit.googleapis.com/system_event|cloudaudit.googleapis.com/system_event>") OR LOG_ID("<http://externalaudit.googleapis.com/system_event|externalaudit.googleapis.com/system_event>") OR LOG_ID("<http://cloudaudit.googleapis.com/access_transparency|cloudaudit.googleapis.com/access_transparency>") OR LOG_ID("<http://externalaudit.googleapis.com/access_transparency|externalaudit.googleapis.com/access_transparency>")',
opts=ResourceOptions(
depends_on=[pubsub_topic]
),
)
Pulumi fails with:
gcp:logging:ProjectSink (dev-sink):
error: 1 error occurred:
* googleapi: Error 400: Cloud Pub/Sub URL is missing projects/[PROJECT_ID], badRequest
When I look at "details" view, I see this:
pulumi:pulumi:Stack: (same)
[urn=urn:pulumi:dev::infrastructure::pulumi:pulumi:Stack::infrastructure-dev]
+ gcp:logging/projectSink:ProjectSink: (create)
[urn=urn:pulumi:dev::infrastructure::gcp:logging/projectSink:ProjectSink::dev-sink]
[provider=urn:pulumi:dev::infrastructure::pulumi:providers:gcp::default_4_3_0::4d0f3a00-dc97-4725-b036-499ca6b7f522]
destination : "<http://pubsub.googleapis.com/<pulumi.output.Output|pubsub.googleapis.com/<pulumi.output.Output> object at 0x112b44640>"
filter : "LOG_ID(\"<http://cloudaudit.googleapis.com/activity\|cloudaudit.googleapis.com/activity\>") OR LOG_ID(\"<http://externalaudit.googleapis.com/activity\|externalaudit.googleapis.com/activity\>") OR LOG_ID(\"<http://cloudaudit.googleapis.com/system_event\|cloudaudit.googleapis.com/system_event\>") OR LOG_ID(\"<http://externalaudit.googleapis.com/system_event\|externalaudit.googleapis.com/system_event\>") OR LOG_ID(\"<http://cloudaudit.googleapis.com/access_transparency\|cloudaudit.googleapis.com/access_transparency\>") OR LOG_ID(\"<http://externalaudit.googleapis.com/access_transparency\|externalaudit.googleapis.com/access_transparency\>")"
name : "dev-sink-bf1e116"
uniqueWriterIdentity: false
When I see <pulumi.output.Output object at 0x112b44640>
in the destination
, it makes me think Pulumi hasn't deserialized the actual name, or there is some deferred evaluation that isn't happening?
Any suggestions on how to troubleshoot?dry-engine-17210
11/20/2020, 8:02 PMdry-engine-17210
11/20/2020, 8:39 PMpubsub_topic = pubsub.Topic(
"{}-topic".format(PUBSUB_TOPIC_PREFIX)
)
pubsub_topic_url = pubsub_topic.id.apply(
lambda id: "<http://pubsub.googleapis.com/|pubsub.googleapis.com/>" + id
)
logging_sink = logging.ProjectSink(
resource_name="{}-sink".format(LOGGING_SINK_PREFIX),
destination=pubsub_topic_url,
filter='LOG_ID("<http://cloudaudit.googleapis.com/activity|cloudaudit.googleapis.com/activity>") OR LOG_ID("<http://externalaudit.googleapis.com/activity|externalaudit.googleapis.com/activity>") OR LOG_ID("<http://cloudaudit.googleapis.com/system_event|cloudaudit.googleapis.com/system_event>") OR LOG_ID("<http://externalaudit.googleapis.com/system_event|externalaudit.googleapis.com/system_event>") OR LOG_ID("<http://cloudaudit.googleapis.com/access_transparency|cloudaudit.googleapis.com/access_transparency>") OR LOG_ID("<http://externalaudit.googleapis.com/access_transparency|externalaudit.googleapis.com/access_transparency>")'
)
dry-engine-17210
11/20/2020, 8:40 PMdry-engine-17210
11/20/2020, 8:40 PMsalmon-honey-75627
11/22/2020, 9:33 PMsalmon-honey-75627
11/22/2020, 9:33 PMsalmon-honey-75627
11/22/2020, 9:33 PMbetter-actor-92669
11/24/2020, 5:13 PM# rrdatas=[
# dbs_instance_pulumi_objects[item].
# network_interfaces[0]['networkIp'],
# ],
But when you initiate the stack for the first time in a new project and all instances are yet to be created alongside DNS records, networkInterfaces
only contains this
networkInterfaces : [
[0]: {
subnetwork: output<string>
}
]
When some instance is finally created, it becomes
networkInterfaces
[
{
"accessConfigs": [],
"aliasIpRanges": [],
"name": "nic0",
"network": "<https://www.googleapis.com/compute/v1/projects/some-project/global/networks/vpc-network-default-b803ef2>",
"networkIp": "10.122.0.3",
"subnetwork": "<https://www.googleapis.com/compute/v1/projects/some-project/regions/europe-west1/subnetworks/vpc-subnetwork-default-bab788a>",
"subnetworkProject": "some-subnetwork"
}
]
How can I ask pulumi to wait for the value, even though the key is not present yet? Or how should I reference it properly?bitter-policeman-94135
11/27/2020, 7:33 PMDiagnostics:
pulumi:providers:pulumi-python (default):
error: no resource plugin 'pulumi-python' found in the workspace or on your $PATH
Try as I might, I can't find a plugin named pulumi-python
. Do any of you have any insight?bitter-policeman-94135
11/27/2020, 7:52 PMdynamic.ResourceProvider
:
class ProvisionerProvider(dynamic.ResourceProvider):
Then in that class's initializer it tries to initialize pulumi-python
(dynamic.py:256):
super(Resource, self).__init__("pulumi-python:dynamic:Resource", name, props, opts)
bitter-policeman-94135
11/27/2020, 9:27 PMpulumi
.bitter-policeman-94135
11/27/2020, 9:27 PMbitter-policeman-94135
11/27/2020, 9:28 PMpulumi
. That serves me right for not following directions exactly.worried-queen-62794
12/10/2020, 9:47 PMfierce-ability-58936
12/10/2020, 10:28 PMsticky-salesmen-55696
12/15/2020, 6:28 PMpurple-arm-63328
12/15/2020, 9:48 PMstar_apply
besides apply
in Output
?
It would work like this:
pulumi.Output.all(a, b, c).star_apply(lambda x, y, z: ...)
Otherwise, the lambda function must receive one argument and use it like a sequence.
Any thoughts?shy-football-10348
12/15/2020, 11:38 PMjolly-camera-35709
12/17/2020, 5:53 AMjolly-camera-35709
12/17/2020, 5:54 AMjolly-camera-35709
12/17/2020, 5:54 AMcustom_data=base64.b64encode("hahaha".encode("utf-8"))
fancy-river-36247
12/23/2020, 1:48 PMFile "/Users/jasonvertrees/work/infra-pulumi/venv/lib/python3.9/site-packages/pulumi/output.py", line 175, in run
transformed: Input[U] = func(value)
TypeError: sequence item 7: expected str instance, int found
fancy-river-36247
12/23/2020, 1:49 PMechoing-dawn-86996
12/27/2020, 8:37 PMclever-plumber-29709
12/28/2020, 9:40 PMsparse-intern-71089
01/03/2021, 6:23 PMsparse-intern-71089
01/03/2021, 6:23 PMgreen-school-95910
01/03/2021, 6:25 PM# Start up script
r_server_startup = GITHUB_PASSWORD.apply(lambda password: f"""
#!/bin/bash
cd ~ ;
sudo apt update;
sudo apt install -y git;
sudo git clone -b {BRANCH} https://{GITHUB_USERNAME}:{password}@github.com/orgacuity/orgacuity.git;
""")
r_server_startup
will be a new Output
that holds the script and is also secret, since it is derived from a secret Output
full-account-26076
01/03/2021, 6:32 PMapply
before but just not in this fashion. I'll give it a run.apply
method is rendering because installs occur. Bad part is that the password isn't materializing in r_startup_script
and the clone doesn't occur.gentle-diamond-70147
01/05/2021, 12:14 AM.apply()
example), I see my secret in the stack output with pulumi stack output --show-secrets
.full-account-26076
01/05/2021, 12:49 AMgentle-diamond-70147
01/05/2021, 12:49 AMfull-account-26076
01/05/2021, 12:52 AM