Hi. Um... this is me not really understanding Type...
# getting-started
c
Hi. Um... this is me not really understanding TypeScript or not properly reading the API documentation, so please bare with me as it's most likely a PEBKAC issue. But at this point I really do appreciate any help. I am trying to attach a public static IP to an AKS loadbalancer created with azure native ManagedCluster constructor. This is how I create the IP, which I am sure it's all good:
Copy code
const publicIPAddress = new azure_native.network.PublicIPAddress(`ipaddr-${environmentLabel}`, {
    idleTimeoutInMinutes: 10,
    publicIPAddressVersion: "IPv4",
    publicIPAllocationMethod: "Static",
    publicIpAddressName: `ip-lb-testaks-${environmentLabel}`,
    resourceGroupName: `mc_${managedClusterName}`,
    sku: {
        name: "Standard",
        tier: "Global",
    },
    dnsSettings: {
        //domainnamelabel.location.cloudapp.azure.com => <http://testaks.northcentralus.cloudapp.azure.com|testaks.northcentralus.cloudapp.azure.com>
        domainNameLabel: "testaks"
    }
});
This is how I try to inject the property in containerservice.ManagedCluster constructor:
Copy code
networkProfile: {
		networkPlugin: "azure",
		serviceCidr: "10.10.0.0/24",
		dnsServiceIP: "10.10.0.10",
		dockerBridgeCidr: "172.17.0.1/16",
        loadBalancerProfile: {
            outboundIPs: {
                publicIPs: publicIPAddress.id
            } 
        },  
	},
Right out of the box I get the following error on the
publicIPs: publicIPAddress.id
line:
Copy code
Type 'Output<string>' is not assignable to type 'Input<ResourceReferenceArgs>'.
  Type 'Output<string>' is not assignable to type 'OutputInstance<ResourceReferenceArgs>'.
    Types of property 'apply' are incompatible.
      Type '{ <U>(func: (t: string) => Promise<U>): Output<U>; <U>(func: (t: string) => OutputInstance<U>): Output<U>; <U>(func: (t: string) => U): Output<...>; }' is not assignable to type '{ <U>(func: (t: ResourceReferenceArgs) => Promise<U>): Output<U>; <U>(func: (t: ResourceReferenceArgs) => OutputInstance<U>): Output<...>; <U>(func: (t: ResourceReferenceArgs) => U): Output<...>; }'.
        Types of parameters 'func' and 'func' are incompatible.
          Types of parameters 't' and 't' are incompatible.
            Type 'string' has no properties in common with type 'ResourceReferenceArgs'.ts(2322)
Can anyone please provide me with some clarity what I'm doing wrong here?
s
I think it should be something like:
Copy code
outboundIPs: {
  publicIPs: [
    { id: publicIpAddress.id }
  ]
}
The
id:
may be redundant.