All Products
Search
Document Center

Resource Orchestration Service:UpdateStack

Last Updated:Jun 10, 2026

Memperbarui sumber daya dalam stack.

Deskripsi operasi

The Parameters and UsePreviousParameters request parameters are related. If a parameter defined in the template is not specified in Parameters:

  • If UsePreviousParameters is set to false, the parameter uses its default value from the template. If the parameter does not have a default value, you must specify it in Parameters.

  • If UsePreviousParameters is set to true, the parameter retains its value from the previous stack creation. If no value was specified at that time and the template provides a default, that default value is used.

This example shows how to update the template for a stack with the ID 4a6c9851-3b0f-4f5f-b4ca-a14bf691**** in the China (Beijing) region to {"ROSTemplateFormatVersion": "2015-09-01"}.

Coba sekarang

Coba API ini di OpenAPI Explorer tanpa perlu penandatanganan manual. Panggilan yang berhasil akan secara otomatis menghasilkan contoh kode SDK sesuai dengan parameter Anda. Unduh kode tersebut dengan kredensial bawaan yang aman untuk penggunaan lokal.

Test

RAM authorization

Tabel berikut menjelaskan otorisasi yang diperlukan untuk memanggil API ini. Anda dapat menentukannya dalam kebijakan Resource Access Management (RAM). Kolom pada tabel dijelaskan sebagai berikut:

  • Action: Aksi yang dapat digunakan dalam elemen Action pada pernyataan kebijakan izin RAM untuk memberikan izin guna melakukan operasi tersebut.

  • API: API yang dapat Anda panggil untuk melakukan aksi tersebut.

  • Access level: Tingkat akses yang telah ditentukan untuk setiap API. Nilai yang valid: create, list, get, update, dan delete.

  • Resource type: Jenis resource yang mendukung otorisasi untuk melakukan aksi tersebut. Ini menunjukkan apakah aksi tersebut mendukung izin tingkat resource. Resource yang ditentukan harus kompatibel dengan aksi tersebut. Jika tidak, kebijakan tersebut tidak akan berlaku.

    • Untuk API dengan izin tingkat resource, jenis resource yang diperlukan ditandai dengan tanda bintang (*). Tentukan Nama Sumber Daya Alibaba Cloud (ARN) yang sesuai dalam elemen Resource pada kebijakan.

    • Untuk API tanpa izin tingkat resource, ditampilkan sebagai All Resources. Gunakan tanda bintang (*) dalam elemen Resource pada kebijakan.

  • Condition key: Kunci kondisi yang didefinisikan oleh layanan. Kunci ini memungkinkan kontrol granular, berlaku baik hanya untuk aksi maupun untuk aksi yang terkait dengan resource tertentu. Selain kunci kondisi spesifik layanan, Alibaba Cloud menyediakan serangkaian common condition keys yang berlaku di semua layanan yang didukung RAM.

  • Dependent action: Aksi dependen yang diperlukan untuk menjalankan aksi tersebut. Untuk menyelesaikan aksi tersebut, pengguna RAM atau role RAM harus memiliki izin untuk melakukan semua aksi dependen.

Action

Access level

Resource type

Condition key

Dependent action

ros:UpdateStack

update

*stack

acs:ros:{#regionId}:{#accountId}:stack/{#stackId}

Template

acs:ros:{#regionId}:{#accountId}:template/{#TemplateId}

None None

Parameter permintaan

Parameter

Type

Required

Description

Example

StackId

string

Yes

ID stack.

4a6c9851-3b0f-4f5f-b4ca-a14bf691****

ClientToken

string

No

Token yang dihasilkan klien untuk memastikan idempotensi permintaan. Token harus unik secara global.
Token dapat memiliki panjang hingga 64 karakter dan dapat berisi huruf, digit, tanda hubung (-), dan garis bawah (_).
Untuk informasi selengkapnya, lihat Cara memastikan idempotensi.

.

123e4567-e89b-12d3-a456-42665544****

StackPolicyDuringUpdateBody

string

No

Penggantian sementara untuk badan kebijakan tumpukan. Badan kebijakan dapat memiliki panjang 1 hingga 16.384 byte.
Jika Anda ingin memperbarui sumber daya yang dilindungi, tentukan penggantian kebijakan tumpukan sementara saat pembaruan. Jika Anda tidak menentukan kebijakan tumpukan, kebijakan saat ini yang terkait dengan stack akan digunakan.
Parameter ini hanya berlaku ketika tipe set perubahan adalah UPDATE. Anda hanya dapat menentukan salah satu parameter berikut:

  • StackPolicyBody

  • StackPolicyURL

  • StackPolicyDuringUpdateBody

  • StackPolicyDuringUpdateURL.

{"Statement": [{"Effect": "Allow", "Action": "Update:*", "Principal": "*", "Resource": "*"}]}

TimeoutInMinutes

integer

No

Periode pengatur waktu habis untuk pembaruan stack, dalam menit.

  • Nilai default: 60.

  • Unit: menit.

10

TemplateBody

string

No

Badan templat. Badan templat dapat memiliki panjang 1 hingga 524.288 byte. Jika badan templat berukuran Tingkat Tinggi, kami sarankan Anda menggunakan metode permintaan POST dan meneruskan parameter di badan permintaan untuk mencegah kegagalan permintaan akibat URL yang terlalu panjang.

Catatan

Anda hanya dapat menentukan salah satu parameter TemplateBody, TemplateURL, dan TemplateId.

{"ROSTemplateFormatVersion": "2015-09-01"}

StackPolicyURL

string

No

URL file yang berisi kebijakan tumpukan. URL harus mengarah ke kebijakan yang berada di server web (HTTP atau HTTPS) atau di Bucket OSS Alibaba Cloud Object Storage Service (OSS), misalnya, oss://ros/stack-policy/demo atau oss://ros/stack-policy/demo?RegionId=cn-hangzhou. File kebijakan dapat memiliki panjang hingga 16.384 byte. Jika Anda tidak menentukan wilayah OSS di URL, wilayah yang ditentukan oleh parameter RegionId akan digunakan.

Catatan

Anda hanya dapat menentukan salah satu parameter StackPolicyBody dan StackPolicyURL.

URL dapat memiliki panjang hingga 1.350 byte.

oss://ros-stack-policy/demo

StackPolicyDuringUpdateURL

string

No

URL file yang berisi penggantian kebijakan tumpukan sementara. URL harus mengarah ke kebijakan yang berada di server web (HTTP atau HTTPS) atau di Bucket OSS Alibaba Cloud, misalnya, oss://ros/stack-policy/demo atau oss://ros/stack-policy/demo?RegionId=cn-hangzhou. File kebijakan dapat memiliki panjang hingga 16.384 byte.

Catatan

Jika Anda tidak menentukan wilayah OSS di URL, wilayah yang ditentukan oleh parameter RegionId akan digunakan.

URL dapat memiliki panjang hingga 1.350 byte.

Jika Anda ingin memperbarui sumber daya yang dilindungi, Anda harus menentukan penggantian kebijakan tumpukan sementara saat pembaruan. Jika Anda tidak menentukan kebijakan tumpukan, kebijakan saat ini yang terkait dengan stack akan digunakan. Parameter ini hanya berlaku ketika tipe set perubahan adalah UPDATE. Anda hanya dapat menentukan salah satu parameter berikut:

  • StackPolicyBody

  • StackPolicyURL

  • StackPolicyDuringUpdateBody

  • StackPolicyDuringUpdateURL.

oss://ros-stack-policy/demo

StackPolicyBody

string

No

Badan kebijakan tumpukan. Badan kebijakan dapat memiliki panjang 1 hingga 16.384 byte.

Catatan

Anda hanya dapat menentukan salah satu parameter StackPolicyBody dan StackPolicyURL.

{"Statement": [{"Action": "Update:*", "Resource": "*", "Effect": "Allow", "Principal": "*"}]}

UsePreviousParameters

boolean

No

Apakah akan menggunakan kembali nilai parameter yang tidak ditentukan dalam permintaan saat ini.

Nilai valid:

  • true: Nilai parameter yang tidak ditentukan digunakan kembali dari permintaan sebelumnya.

  • false: Nilai parameter yang tidak ditentukan tidak digunakan kembali dari permintaan sebelumnya.

true

RegionId

string

Yes

ID wilayah tempat stack berada. Anda dapat memanggil operasi DescribeRegions untuk mengkueri daftar wilayah Alibaba Cloud terbaru. [_single.params.DisableRollback.desc](Parameter ini sudah tidak digunakan lagi dan tidak berpengaruh.).

cn-beijing

DisableRollback deprecated

boolean

No

(This parameter is deprecated and has no effect.)

TemplateURL

string

No

Lokasi file yang berisi badan templat. URL harus mengarah ke templat (1 hingga 524.288 byte) yang berada di server web HTTP atau HTTPS atau di Bucket OSS Alibaba Cloud. URL Bucket OSS dalam format seperti oss://ros/template/demo atau oss://ros/template/demo?RegionId=cn-hangzhou. Jika wilayah OSS tidak ditentukan, wilayah default ke yang ditentukan oleh parameter RegionId.

Catatan

Anda harus menentukan tepat satu dari parameter TemplateBody, TemplateURL, atau TemplateId.

oss://ros-template/demo

RamRoleName

string

No

Nama Peran RAM. ROS mengambil peran ini untuk membuat stack dan menggunakan kredensial peran tersebut untuk melakukan panggilan API atas nama Anda.
ROS selalu menggunakan peran ini untuk operasi pada stack. Jika Anda memiliki izin untuk melakukan operasi pada stack, ROS menggunakan peran ini bahkan jika Anda tidak memiliki izin untuk menggunakan peran tersebut. Hal ini memastikan bahwa peran diberi izin minimum yang diperlukan. Untuk informasi selengkapnya tentang cara menggunakan Peran RAM, lihat Menggunakan peran tumpukan.
Jika Anda tidak menentukan nilai ini, ROS menggunakan peran yang sebelumnya terkait dengan stack. Jika tidak ada peran yang tersedia, ROS menggunakan kredensial sementara yang dihasilkan dari kredensial pengguna Anda.
Panjang maksimum nama Peran RAM adalah 64 byte.


.

test-role

ReplacementOption

string

No

Apakah akan menggunakan pembaruan penggantian. Ketika properti sumber daya tidak mendukung pembaruan modifikasi, Anda dapat menggunakan pembaruan penggantian untuk mengubah properti sumber daya. Pembaruan penggantian menghapus sumber daya lalu membuatnya kembali. ID fisik sumber daya baru akan berubah.

Nilai valid:

  • Enabled: Mengizinkan pembaruan penggantian.

  • Disabled (default): Tidak mengizinkan pembaruan penggantian.

Catatan

Pembaruan modifikasi memiliki prioritas lebih tinggi dibandingkan pembaruan penggantian.

Disabled

TemplateId

string

No

ID Templat. Parameter ini berlaku untuk templat bersama dan privat.

Catatan

Anda hanya dapat menentukan salah satu parameter TemplateBody, TemplateURL, dan TemplateId.

5ecd1e10-b0e9-4389-a565-e4c15efc****

TemplateVersion

string

No

Versi templat. Parameter ini hanya berlaku ketika Anda menentukan TemplateId.

v1

Parameters

array<object>

No

Parameter templat.

object

No

ParameterKey

string

Yes

The name of the parameter. If you do not specify the name and value of a parameter, ROS uses the default value that is specified in the template.
You can specify a maximum of 200 parameters.

Catatan

Parameters is an optional parameter. If you specify Parameters, you must also specify Parameters.N.ParameterKey and Parameters.N.ParameterValue.

Amount

ParameterValue

string

Yes

The value of the parameter. You can specify a maximum of 200 parameters.

Catatan

Parameters is an optional parameter. If you specify Parameters, you must also specify Parameters.N.ParameterKey and Parameters.N.ParameterValue.

12

Tags

array<object>

No

Tag stack.

object

No

Key

string

Yes

The tag key of the stack.
You can specify up to 20 tags.

Catatan

Tags is an optional parameter. If you specify Tags, you must specify Tags.N.Key. These tags are propagated to all taggable resources in the stack. For more information, see Tag propagation.

usage

Value

string

No

The tag value of the stack.
You can specify up to 20 tags.

Catatan

These tags are propagated to all taggable resources in the stack. For more information, see Tag propagation.

test

Parallelism

integer

No

Jumlah maksimum operasi serentak yang dapat dilakukan pada sumber daya.

Secara default, parameter ini kosong. Anda dapat menentukan bilangan bulat yang lebih besar dari atau sama dengan 0.

Catatan
  • Jika Anda menetapkan parameter ini ke nilai yang lebih besar dari 0, nilai tersebut akan digunakan.

  • Jika Anda menetapkan parameter ini ke 0, tidak ada batasan jumlah operasi serentak untuk stack tipe ROS. Untuk stack tipe Terraform, nilai default (biasanya 10) akan digunakan.

  • Jika Anda tidak menentukan parameter ini, nilai dari operasi terakhir akan digunakan. Jika parameter ini tidak ditentukan dalam operasi terakhir, tidak ada batasan untuk stack tipe ROS, dan nilai default (biasanya 10) akan digunakan untuk stack tipe Terraform.

  • Jika Anda menentukan parameter ini, nilai yang ditentukan akan dikaitkan dengan stack dan memengaruhi operasi berikutnya pada stack tersebut.

1

ResourceGroupId

string

No

ID kelompok sumber daya.

rg-acfmxazb4ph6aiy****

DryRun

boolean

No

Apakah akan menjalankan dry run saja untuk permintaan. Nilai valid:

  • true: Menjalankan dry run untuk memeriksa permintaan. Operasi tidak dijalankan.

  • false (default): Menjalankan operasi.

Catatan

Jika Anda memperbarui stack tanpa membuat perubahan apa pun, operasi akan gagal dengan kesalahan NotSupported jika DryRun adalah false. Jika DryRun adalah true, tidak ada kesalahan yang dilaporkan.

false

DryRunOptions

array

No

Opsi dry run. Daftar dapat berisi maksimum satu item.

Catatan

Parameter ini hanya berlaku ketika DryRun ditetapkan ke true.

string

No

The dry run option. Valid values:

  • ParameterAnalysis.ConsiderCondition: We recommend that you use this option if you need to perform parameter analysis. Otherwise, when conditions are calculated, the parameter values that are used are the parameter values before the stack update.

Catatan

This option is available only for ROS-type stacks.

  • ParameterAnalysis.Disabled: disables parameter analysis. If you specify this option, the Parameters fields are not returned in the DryRunResult response.

ParameterAnalysis.ConsiderCondition

TaintResources

array

No

标记为脏资源的列表。

string

No

  • ROS 资源栈中,需要配置为:资源名称,例如:my_vpc。

  • Terraform 资源栈中,需要配置为:资源类型+资源名称,例如:alicloud_vpc.my_vpc

my_vpc

Untuk detail tentang parameter permintaan umum, lihat Parameter umum.

Elemen respons

Element

Type

Description

Example

object

RequestId

string

The request ID.

B288A0BE-D927-4888-B0F7-B35EF84B6E6F

StackId

string

The stack ID.

4a6c9851-3b0f-4f5f-b4ca-a14bf691****

DryRunResult

object

The dry run result. This parameter is returned only when DryRun is set to true.

ParametersAllowedToBeModified

array

The parameters that can be modified.

string

A parameter that can be modified. If you update a stack without changing the template, modifying only the value of this parameter does not cause a validation error.

param1

ParametersConditionallyAllowedToBeModified

array

The parameters that can be modified under specific conditions.

string

A parameter that can be modified under specific conditions. If you update a stack without changing the template, whether modifying only this parameter's value causes a validation error depends on its new value.

param2

ParametersUncertainlyAllowedToBeModified

array

The parameters for which it is uncertain whether they can be modified.

string

A parameter for which it is uncertain whether it can be modified. If you update a stack without changing the template, whether modifying only this parameter's value causes a validation error is determined at runtime.

param3

ParametersNotAllowedToBeModified

array

The parameters that cannot be modified.

string

A parameter that cannot be modified. If you update a stack without changing the template, modifying only this parameter's value always causes a validation error.

param4

ParametersCauseInterruptionIfModified

array

A list of parameters that always cause a resource interruption if modified.

Catatan
  • This feature is supported for only a limited number of resource types.

  • This applies only to ROS stack updates.

string

A parameter that always causes a resource interruption if modified. If you update a stack without changing the template, modifying only this parameter's value always causes a resource interruption.

param1

ParametersConditionallyCauseInterruptionIfModified

array

A list of parameters that may cause a resource interruption if modified.

Catatan
  • This feature is supported for only a limited number of resource types.

  • This applies only to ROS stack updates.

string

A parameter that may cause a resource interruption if modified. If you update a stack without changing the template, whether modifying only this parameter's value causes a resource interruption depends on its new value and the resource's update behavior.

param2

ParametersUncertainlyCauseInterruptionIfModified

array

A list of parameters for which it is uncertain whether a modification will cause a resource interruption.

Catatan
  • This feature is supported for only a limited number of resource types.

  • This applies only to ROS stack updates.

string

A parameter for which it is uncertain whether a modification will cause a resource interruption. If you update a stack without changing the template, whether modifying only this parameter's value causes a resource interruption is determined at runtime.

param3

ParametersCauseReplacementIfModified

array

A list of parameters that always cause a resource replacement if modified.

Catatan
  • This parameter is returned only when ReplacementOption is set to Enabled.

  • This applies only to ROS stack updates.

string

A parameter that always causes a resource replacement if modified. If you update a stack without changing the template, modifying only this parameter's value always causes a resource replacement.

param5

ParametersConditionallyCauseReplacementIfModified

array

A list of parameters that may cause a resource replacement if modified.

Catatan
  • This parameter is returned only when ReplacementOption is set to Enabled.

  • This applies only to ROS stack updates.

string

A parameter that may cause a resource replacement if modified. If you update a stack without changing the template, whether modifying only this parameter's value causes a resource replacement depends on its new value.

param6

ParametersUncertainlyCauseReplacementIfModified

array

A list of parameters for which it is uncertain whether a modification will cause a resource replacement.

Catatan
  • This parameter is returned only when ReplacementOption is set to Enabled.

  • This applies only to ROS stack updates.

string

A parameter for which it is uncertain whether a modification will cause a resource replacement. If you update a stack without changing the template, whether modifying only this parameter's value causes a resource replacement is determined at runtime.

param7

Contoh

Respons sukses

JSONformat

{
  "RequestId": "B288A0BE-D927-4888-B0F7-B35EF84B6E6F",
  "StackId": "4a6c9851-3b0f-4f5f-b4ca-a14bf691****",
  "DryRunResult": {
    "ParametersAllowedToBeModified": [
      "param1"
    ],
    "ParametersConditionallyAllowedToBeModified": [
      "param2"
    ],
    "ParametersUncertainlyAllowedToBeModified": [
      "param3"
    ],
    "ParametersNotAllowedToBeModified": [
      "param4"
    ],
    "ParametersCauseInterruptionIfModified": [
      "param1"
    ],
    "ParametersConditionallyCauseInterruptionIfModified": [
      "param2"
    ],
    "ParametersUncertainlyCauseInterruptionIfModified": [
      "param3"
    ],
    "ParametersCauseReplacementIfModified": [
      "param5"
    ],
    "ParametersConditionallyCauseReplacementIfModified": [
      "param6"
    ],
    "ParametersUncertainlyCauseReplacementIfModified": [
      "param7"
    ]
  }
}

Kode kesalahan

Lihat Error Codes untuk daftar lengkap.

Catatan rilis

Lihat Release Notes untuk daftar lengkap.