2016-03-22 26 views
0

Google Cloud Deployment kullanıyorum ve şablonuma harici girişler almaya çalışıyorum. Yani, örneğimde (örneği oluştururken) bir meta veri değişkeni ayarlamak, ancak bu değeri yürütme üzerinde sağlamak istiyorum.Google Cloud Deployment Manager: Değişkenleri şablonlara geçirme

denedim:

gcloud deployment-manager deployments create test-api-backend --config test-api-backend.yaml --properties 'my_value=hello' 

başarısız Hangi (config dosyası olarak bir şablona geçerken özellikleri bayrağı yalnızca kullanılmalıdır.)

denedim:

my_value=hello gcloud deployment-manager deployments create test-api-backend --config test-api-backend.yaml 

Ve {{env['my_value']}} kullanın ve değer alınmaz.

Sanırım bir .jinja dosyasındaki özelliği ekleyebilir ve her şeyi çalıştırmadan önce bu dosyayı yeniden yazabilirim, ancak bir kesmek gibi geliyor. Bu, ya da bir değişkeni kabuktan Deploy Manager'a geçirme fikrim bir hack. Gerçekten emin değilim.

cevap

1

Hata mesajının gösterdiği gibi, komut satırı özellikleri yalnızca bir şablonla kullanılabilir. Temelde config yaml dosyasını değiştirmeyi amaçlıyorlar.

Yapılacak en kolay şey, yaml dosyanızı bir .py veya .jinja dosyasına yeniden adlandırmaktır. Sonra bu şablonu yaml dosyası yerine gcloud komutundaki dosya olarak kullanın. Bu yeni şablon dosyasında, bunları komut satırına aktarmazsanız istediğiniz varsayılanları ekleyin. piton için , gibi bir şey:

if 'myparam' in context.properties: 
    valuetouse = context.properities['myparam'] 
else: 
    valuetouse = mydefaultvalue 

şablon yerine yaml dosyasının orada ithalat yapabilir böylece de yeni, üst düzey şablon için bir şema dosyası oluşturmanız gerekir sonra başka şablon kullanıyorsa . Bu github örneğindeki şema dosyasına bakın. İsterseniz

https://github.com/GoogleCloudPlatform/deploymentmanager-samples/blob/master/examples/v2/igm-updater/ha-service.py.schema

, tüm özelliklerini göz ardı ederek sadece ithalat bölümünü yapabilirsiniz.

+0

Benim hatam, "Geçersiz yapılandırma dosyaları: Şablon getirme başarısız oldu: Kaynak {name: x, properties: y} hatası alınamadı" hatasıyla sonuçlanan şablonum için bir şema dosyası tanımlamada değildi. Eklenmiş şemalar ve güzel çalıştı ! –

İlgili konular