gifted-ocean-95126
05/11/2020, 5:23 PM#cloud-config
dynamic resource) and my current workflow is that I am just running pulumi up
over an over again to see what actions Pulumi would like to take. This is a difficult way to work, it is a lot of trial and error without little insight.
I would like to try to understand, in detail what resource graph my program is defining so that I can know, for example:
• whether the provisioner is correctly registered on the resource,
• whether the create
resource method will be called when the program-defined graph will be compared to the state-stored graph,
• if I succeeded in writing the program such that the provisioner is able to modify the properties of the resource (or add to its output).
I am aware that there are documents that can help me with this, namely the dynamic resources section in the programming model documentation and the documentation on testing, but... there is quite a lot of information there to absorb.
So, my question is this: what is the recommended workflow for developing dynamic providers? Is it possible to learn useful things about the behaviour of my provisioners code without using the pulumi
command?busy-umbrella-36067
05/11/2020, 7:59 PMpulumi new
templates to add typescript 3.8's export * as ns
syntax?sticky-thailand-14236
05/11/2020, 10:02 PM[1/3] Finding Pods to direct traffic to
when in doing a pulumi up
with my service. the following is my service:
const streamService = new k8s.core.v1.Service(config.appNameStream, {
metadata: {
namespace: namespace.metadata.name,
labels: {
app: config.appNameStream,
service: config.appNameStream
}
},
spec: {
ports: [{name: "grpc", port: 50051}],
selector: {
app: config.appNameStream
}
}
})
What exactly am i doing wrong?creamy-potato-29402
05/11/2020, 10:25 PMsticky-thailand-14236
05/12/2020, 1:33 AMconst kongCustomResourceConsumer = new k8s.apiextensions.CustomResource("developer", {
apiVersion: "<http://configuration.konghq.com/v1|configuration.konghq.com/v1>",
kind: "KongConsumer",
metadata: {
namespace: namespace.metadata.name
},
username: "developer"
});
const kongCustomResourceConsumerKey = new k8s.apiextensions.CustomResource("developer-apikey", {
apiVersion: "<http://configuration.konghq.com/v1|configuration.konghq.com/v1>",
kind: "KongCredential",
metadata: {
namespace: namespace.metadata.name
},
consumerRef: `${kongCustomResourceConsumer.metadata.name}`,
type: "key-auth",
config: {
key: "b362c400-4904-4176-9ae7-74bf03a63619"
}
});
flat-mechanic-75334
05/12/2020, 9:07 AMgcloud compute addresses create helloweb-ip --global
bland-cat-29878
05/12/2020, 10:26 AMcool-egg-852
05/12/2020, 2:36 PMwonderful-dog-9045
05/12/2020, 2:49 PMhelpful-processor-86468
05/12/2020, 2:51 PMservice.Template.Metadata()
I'm getting an error applier must have 1 input parameter assignable
wonderful-dog-9045
05/12/2020, 4:14 PMError: The root stack resource was referenced before it was initialized.
at Object.registerStackTransformation (/home/gsuess/empirica/meteor-deploy/node_modules/@pulumi/pulumi/runtime/stack.js:211:15)
What am I doing wrong?incalculable-whale-36468
05/12/2020, 8:23 PMicy-jordan-58549
05/13/2020, 3:06 AMcold-rocket-35235
05/13/2020, 11:37 AMrough-baker-21016
05/13/2020, 12:22 PMfunction publicReadPolicyForBucket
I need access to both the name of the bucket which has just been created created, AND the arn of a role that has just been created.
Specifically, my policy needs to look like this (the difference from the example is the Principal
which in my case needs to interpolate the role, instead of just being *
function publicReadPolicyForBucket(bucketName: string, roleName: string) {
return JSON.stringify({
Version: "2012-10-17",
Statement: [{
Effect: "Allow",
Principal: "`${role.arn}`",
Action: [
"s3:GetObject"
],
Resource: [
`arn:aws:s3:::${bucketName}/*` // policy refers to bucket name explicitly
]
}]
});
}
The error message I get recommends using the bucket.bucket.apply()
pattern, but I can’t see how this extends to allowing me to interpolate both the bucket name and the rolethousands-planet-11416
05/13/2020, 12:37 PMancient-megabyte-79588
05/13/2020, 4:14 PMbest-lifeguard-91445
05/13/2020, 8:22 PMicy-jordan-58549
05/13/2020, 9:21 PMdepensdOn
, while I am testing it, it looks like it doesn’t check the health of the dependsOn resource, which means I can’t get eventual consistency requirement
proud-optician-56680
05/13/2020, 9:30 PMproud-optician-56680
05/13/2020, 9:30 PMbest-lifeguard-91445
05/13/2020, 9:41 PMapp_sg.createIngressRule("app_allow_edge_in", {
location: { sourceSecurityGroupId: edge_sg.id },
ports: new awsx.ec2.AllTcpPorts(),
description: "allow HTTP access from anywhere",
});
This works -- but this doesn't: (doesn't compile)
app_sg.createIngressRule("app_allow_edge_in", {
sourceSecurityGroupId: edge_sg.id,
ports: new awsx.ec2.AllTcpPorts(),
description: "allow HTTP access from anywhere",
});
error:
No overload matches this call.
Overload 1 of 2, '(name: string, args: SimpleSecurityGroupRuleArgs, opts?: ComponentResourceOptions | undefined): IngressSecurityGroupRule', gave the following error.
Argument of type '{ sourceSecurityGroupId: Output<string>; toPort: awsx.ec2.AllTcpPorts; fromPort: awsx.ec2.AllTcpPorts; protocol: string; description: string; }' is not assignable to parameter of type 'SimpleSecurityGroupRuleArgs'.
Object literal may only specify known properties, and 'sourceSecurityGroupId' does not exist in type 'SimpleSecurityGroupRuleArgs'.ts(2769)
billowy-army-68599
05/13/2020, 10:29 PMbest-lifeguard-91445
05/14/2020, 12:35 AM.createAutoScalingGroup
method -- how do I control the scaling per service?best-lifeguard-91445
05/14/2020, 2:23 AMenough-engineer-49169
05/14/2020, 9:50 AMmammoth-caravan-51104
05/14/2020, 3:33 PMbetter-actor-92669
05/14/2020, 5:02 PMfamous-jelly-72366
05/14/2020, 6:16 PMfamous-jelly-72366
05/14/2020, 6:17 PMfamous-jelly-72366
05/14/2020, 6:17 PM