ALIYUN::ROS::CustomResource を使用して、カスタムリソースを作成できます。
Resource Orchestration Service (ROS) テンプレートでは、ALIYUN::ROS::CustomResource または Custom::String リソースタイプを使用してカスタムリソースを定義できます。
カスタムリソースを使用すると、ROS テンプレートにカスタム構成ロジックを記述できます。ROS は、スタックの作成、更新、削除などのスタック操作中にこのロジックを実行します。詳細については、「カスタムリソースの概要」をご参照ください。
カスタムリソースは、事前署名付きレスポンス URL にレスポンスを送信する必要があります。ROS がレスポンスを受信しない場合、スタック操作は失敗します。ResponseURL はパブリックネットワーク経由のレスポンスを有効にし、InnerResponseURL は Alibaba Cloud プライベートネットワーク経由のレスポンスを有効にします。
構文
{
"Type": "ALIYUN::ROS::CustomResource",
"Properties": {
"ServiceToken": String,
"Timeout": Number,
"Parameters": Map
}
}プロパティ
プロパティ | タイプ | 必須 | 更新の有効化 | 説明 | 制約 |
ServiceToken | String | はい | いいえ | サービスプロバイダーがテンプレート開発者にサービスのアクセス権限を付与するために提供するサービストークンです。 現在、Function Compute 関数、SMQ ( Simple Message Queue (formerly MNS) ) トピック、SMQ キュー、HTTP & HTTPS がサポートされています。 最大 512 文字まで指定できます。 | 有効な値:
例:
|
Timeout | Number | はい | はい | カスタムサービスプロバイダーが応答するまでのタイムアウト期間です。単位:秒。 |
|
Parameters | Map | いいえ | はい | カスタムサービスプロバイダーに渡すパラメーターです。カスタムサービスプロバイダーの仕様に従って、このプロパティを指定してください。 | なし。 |
戻り値
Fn::GetAtt
Outputs:カスタムサービスプロバイダーによって返されるデータで、マップオブジェクトです。
*:Outputs マップ内のキー。
例
ROSTemplateFormatVersion: '2015-09-01'
Resources:
CustomResource:
Type: ALIYUN::ROS::CustomResource
Properties:
ServiceToken: acs:fc:cn-hangzhou:123456789:services/test-service/functions/test-function
Parameters:
Key1: Value1
Key2: Value2
Timeout: 60
Parameters:
Parameters:
Type: Json
Description: サービスプロバイダーに渡されるパラメーター。
Outputs:
Outputs:
Description: サービスプロバイダーから受信した出力データ。
Value:
Fn::GetAtt:
- CustomResource
- Outputs{
"ROSTemplateFormatVersion": "2015-09-01",
"Resources": {
"CustomResource": {
"Type": "ALIYUN::ROS::CustomResource",
"Properties": {
"ServiceToken": "acs:fc:cn-hangzhou:123456789:services/test-service/functions/test-function",
"Parameters": {
"Key1": "Value1",
"Key2": "Value2"
},
"Timeout": 60
}
}
},
"Parameters": {
"Parameters": {
"Type": "Json",
"Description": "サービスプロバイダーに渡されるパラメーター。"
}
},
"Outputs": {
"Outputs": {
"Description": "サービスプロバイダーから受信した出力データ。",
"Value": {
"Fn::GetAtt": [
"CustomResource",
"Outputs"
]
}
}
}
}備考
カスタムリソースタイプの名前の指定
カスタムリソースでは、リソースタイプとして ALIYUN::ROS::CustomResource を使用するか、独自のリソースタイプ名を指定できます。たとえば、ALIYUN::ROS::CustomResource の代わりに Custom::MyCustomResourceTypeName を使用できます。
カスタムリソースタイプの名前には、文字、数字、および次の特殊文字を含めることができます:
_@-。名前の長さは最大 68 文字です。更新中にタイプを変更することはできません。独自のリソースタイプ名を使用すると、スタック内のカスタムリソースのタイプをすばやく区別できます。たとえば、2 つの異なる ping テストを実行する 2 つのカスタムリソースがある場合、リソースタイプを ALIYUN::ROS::CustomResource ではなく Custom::PingTester として指定することで、それらを ping テスターとして簡単に識別できます。
更新時のカスタムリソースの置換
ROS の更新中にリソースの PhysicalResourceId を置き換えることはできません。
戻り値の取得
カスタムリソースの場合、戻り値はカスタムサービスプロバイダーによって定義されます。Fn::GetAtt を呼び出すことで、プロバイダーが定義したプロパティからこれらの値を取得できます。