У меня есть шаблон python, как показано ниже для типа экземпляра вычислений, вместе с другим необходимым файлом config.yaml.
...
CONTROLLER_MACHINE_TYPE='n1-standard-8'
controller_template = {
'name': 'controller-it',
'type': 'it_template.py',
'properties': {
'machineType': CONTROLLER_MACHINE_TYPE,
'dockerImage': CONTROLLER_IMAGE,
'dockerEnv': {
'ADC_LISTEN_QUEUE': 'controller-subscriber'
},
'zone': ZONE,
'network': NETWORK_NAME,
'saEmail': SA_EMAIL
}
}
содержимое it_template.py
def GenerateConfig(context):
resources = [{
'name': context.env['name'],
'type': 'compute.v1.instanceTemplate',
'properties': {
'zone': context.properties['zone'],
'properties': {
"machineType": context.properties['machineType'],
"metadata": {
"items": [{
"key": 'gce-container-declaration',
"value": GenerateManifest(context)
}]
}, ...
Я развернул его в среде с именем qa. Теперь через некоторое время я понял, что мне нужно изменить тип машины этого экземпляра. Например, вместо n1-standard-8 я хочу, чтобы моя среда qa обновляла тип компьютера для этого ресурса.
Однако я не вижу ни одного примера, который бы упоминал об обновлении свойства какого-либо ресурса.
Можем ли мы обновить свойство ресурса в среде, используя менеджер развертывания gcp?
Или мне нужно добавить новый ресурс с другим именем и желаемым свойством типа машины?
Обновление
В соответствии с предложением @jordi Miralles, я изменил свой шаблон так, чтобы machineType был n1-standard-16, и попытался обновить развертывание.
но я получил ошибку ниже
cloud deployment-manager deployments update qa --config dm_config.yaml
The fingerprint of the deployment is KkD38j9KYiBTiaIW8SltbA==
Waiting for update [operation-1525444590548-56b623ef1b421-b4733efd-53174d1b]...failed.<br>
ERROR: (gcloud.deployment-manager.deployments.update) Error in Operation [operation-1525444590548-56b623ef1b421-b4733efd-53174d1b]: errors:
- code: NO_METHOD_TO_UPDATE_FIELD
message: No method found to update field 'properties' on resource 'controller-it'
of type 'compute.v1.instanceTemplate'. The resource may need to be recreated with
the new field.
Пожалуйста, помогите.