How to handle resources of existing VM inside proxmox using Terraform? - terraform

I have a question about how to change resources like RAM, number of cores for existing VM on node node-1 using terraform. I referred this example https://github.com/Telmate/terraform-provider-proxmox/blob/master/examples/cloudinit_example.tf, but this will create VM, I need to change and/or handle existing VM resources. Could anyone explan how to do this? Thanks in advance.

please do check documentation before asking question directly. If you didn't find it please cross check it with source code. It's just pretty straight forward. Provide existing name and vmid. Further add resources, network and add what all you really required.
Example code is here.
​provider​ ​"​proxmox​"​ {
​    pm_tls_insecure ​=​ ​true
​    pm_api_url ​=​ ​"​https://proxmox-server01.example.com:8006/api2/json​"
​    pm_password ​=​ ​"​secret​"
​    pm_user ​=​ ​"​terraform-user#pve​"
​    pm_otp ​=​ ​"​"
​}
​resource​ ​"​proxmox_vm_qemu​"​ ​"​cloudinit-test​"​ {
vmid = <Existing VMID>
​    name ​=​ ​"​<Existing Name of VM>"
​    ​#​ Node name has to be the same name as within the cluster
​    ​#​ this might not include the FQDN
​    target_node ​=​ ​"​proxmox-server02​"
​    
​    cores ​=​ ​2
​    sockets ​=​ ​1
​    vcpus ​=​ ​0
​    cpu ​=​ ​"​host​"
​    memory ​=​ ​2048
​    scsihw ​=​ ​"​lsi​"
​    ​#​ Setup the disk
​    ​disk​ {
​        size ​=​ ​32
​        type ​=​ ​"​virtio​"
​        storage ​=​ ​"​ceph-storage-pool​"
​        storage_type ​=​ ​"​rbd​"
​        iothread ​=​ ​1
​        ssd ​=​ ​1
​        discard ​=​ ​"​on​"
​    }
​    ​#​ Setup the network interface and assign a vlan tag: 256
​    ​network​ {
​        model ​=​ ​"​virtio​"
​        bridge ​=​ ​"​vmbr0​"
​    }
​}

Related

Unable to identify Local Storage Items regarding snapinsPage

I am trying to find out what company would be setting these on an e-commerce site and what the usage would be around these local storage items I am seeing:
snapinsPage_1
snapinsPage_10
snapinsPage_11
snapinsPage_12
snapinsPage_13
snapinsPage_14
snapinsPage_15
snapinsPage_16
snapinsPage_17
snapinsPage_2
snapinsPage_3
snapinsPage_4
snapinsPage_5
snapinsPage_6
snapinsPage_7
snapinsPage_8
snapinsPage_9
snapinsPageTime_0
snapinsPageTime_1
snapinsPageTime_10
snapinsPageTime_11
snapinsPageTime_12
snapinsPageTime_13
snapinsPageTime_14
snapinsPageTime_15
snapinsPageTime_16
snapinsPageTime_17
snapinsPageTime_2
snapinsPageTime_3
snapinsPageTime_4
snapinsPageTime_5
snapinsPageTime_6
snapinsPageTime_7
snapinsPageTime_8
snapinsPageTime_9
snapinsPc
snapinsStart
Has anyone seen these and know what they are doing?
Thank you!
It comes from Salesforce.
If you do a search on the site with that local storage set, you can see it setting these values in the Javascript.:
screenshot of chrome developer tools

How to set timeout for terraform apply?

Many a times I get '[TRACE] dag/walk: vertex ' when I apply terraform apply on certain tf. I would like to set timeout instead of going on forever.
Thanks
Several examples - https://github.com/hashicorp/terraform/issues/16458
https://github.com/terraform-providers/terraform-provider-aws/issues/2068
But all of them focus on specific solution. I dont want inifinite loops whatsoever reason I just want a flag for apply that would stop trying after certain time. Iam thinking of an external command to kill it but I want to see if there is actual terraform solution before I implement it.
Today Terraform SDK have special fields for resources timeouts. Official documentation here.
For example, you can add timeouts for some operations in resource description:
resource "<resource_name>" "<resource_name>" {
...
timeouts {
create = "1h30m",
update = "2h",
delete = "20m"
}
}

PowerShell ASR Replication Group Name

I am trying to use the '-ReplicationGroupName' parameter on the 'New-AzureRmRecoveryServicesAsrReplicationProtectedItem' cmdlet, however, I am struggling to understand exactly how it should be used...
I am trying to use it with the '-HyperVToAzure' switch but I receive the error;
"Parameter set cannot be resolved using the specified named parameters"
Which seems to suggest that the '-ReplicationGroupName' parameter can only be used in conjunction with the '-VMwareToAzure' switch. Is this correct? Is there any way of using ASR Replication Groups with Hyper-V (or physical) protected items?
Or have I misunderstood the use of this parameter completely and should be looking at something else entirely...?!
It is only for “VMware to Azure” and “Azure to Azure”. There is no replication group construct in “Hyper-V to Azure”.

Making ServiceStack RedisSentinel use a RedisManagerPool instead of a PooledRedisClientManager

Using ServiceStack version 4.0.40.
I am trying get RedisSentinel to use the RedisManagerPool instead of the
PooledRedisClientManager so it will allow clients above the client pool size.
I see this in the docs to set this...
sentinel.RedisManagerFactory = (master,slaves) => new RedisManagerPool(master);
I'm not sure how to use this. Do I pass in the master host name? What if I don't know which is master because of a previous failover? I can't sentinel.start() to find out which is master because it will start with the PooledRedisClientManager, which isn't what I want.
Or, do I pass in the sentinel hosts? RedisManagerPool takes a list of hosts, I can pass in the sentinel hosts, but I cannot set it to sentinel.RedisManagerFactory as RedisManagerFactory is not convertible to RedisManagerPool.
I think I am missing something simple here. Any help appreciated.
UPDATE
As per mythz's comment below, this isn't available in version 4.0.40 of ServiceStack. But you can use;
sential.RedisManagerFactory.FactoryFn = (master, slaves) => new RedisManagerPool(master);
Thanks
This is literally the config you need to use to change RedisSentinel to use RedisManagerPool:
sentinel.RedisManagerFactory = (master,slaves) =>
new RedisManagerPool(master);
You don’t need to pass anything else, the master host argument uses the lambda argument.

Neo4j node api don't know how to find/get node by parameters not only id

i'm new to neo4j, i'm reading the documentation and a sample, small app based on the node module (neo4j), but i don't see a way to get a node or nodes based on parameter/r.
something like:
var node = db.find({user: "WillSmith#iam.com", password: "5#^632g23^##23"});
Can anyone explane it to me, or point me to a good resource explaining it :)
As far as i know, if you want to find nodes by property, you should search in index.
This index you should create by yourself.
In this file i can see functions for working with indexes, unfortunately i've implemented this only in java, so i cant help with exact implementation. Hope, it helps =)

Resources