ALIYUN::ROS::ResourceCleaner類型用于創建資源清理器。
支持清理的資源類型
ROS會持續增加支持清理的資源。您可以調用GetFeatureDetails接口獲取支持清理的資源列表。
云服務 | 資源類型 |
ACM | ACM:Namespace |
ACTIONTRAIL | ACTIONTRAIL:Trail |
ALB |
|
ApiGateway |
|
ARMS |
|
ASM | ASM:ServiceMesh |
CAS | CAS:Certificate |
CDDC | CDDC:DedicatedHostGroup |
CDN | CDN:Domain |
ClickHouse | ClickHouse:DBCluster |
CloudPhone | CloudPhone:InstanceGroup |
CMS |
|
CS | CS:Cluster |
CR | CR:Instance |
DATAHUB | DATAHUB:Project |
DCDN | DCDN:Domain |
DFS |
|
DirectMail |
|
DNS |
|
DRDS | DRDS:DrdsInstance |
ECI |
|
ECS |
|
VPC |
|
RAM |
|
RDS | RDS:DBInstance |
ROS | ROS:Template |
SLB |
|
ENS | ENS:Instance |
ESS |
|
ECI |
|
FNF | FNF:Flow |
GPDB | GPDB:DBInstance |
KMS |
|
KAFKA | KAFKA:Instance |
MONGODB | MONGODB:Instance |
Memcache | Memcache:Instance |
MSE |
|
MNS |
|
REDIS | REDIS:Instance |
SLS | SLS:Project |
FC | FC:Service |
NAS |
|
NLB |
|
OTS | OTS:Instance |
OSS | OSS:Bucket |
OOS |
|
POLARDB | POLARDB:DBCluster |
PrivateLink |
|
DRDS | DRDS:DrdsInstance |
ROCKETMQ | ROCKETMQ:Instance |
ADB | ADB:DBCluster |
EDAS |
|
EMR | EMR:Cluster |
ElasticSearch | ElasticSearch:Instance |
SearchEngine | SearchEngine:Instance |
HBR | HBR:DBVault |
PVTZ | PVTZ:Zone |
SAE |
|
SAG |
|
TSDB | TSDB:HiTSDBInstance |
WAF | WAF:Domain |
語法
{
"Type": "ALIYUN::ROS::ResourceCleaner",
"Properties": {
"Action": String,
"ResourceFilters": List,
"Resources": List,
"Mode": String,
"FailureOption": String,
"CleanUpRetryCount": Integer,
"CleanUpTimeout": Number,
"ExcludedResources": List,
"CleanUpAlgorithm": String,
"ResourceTypeOrder": List,
"DisabledSideEffects": List
}
}
屬性
屬性名稱 | 類型 | 必須 | 允許更新 | 描述 | 約束 |
Action | String | 是 | 是 | 資源清理動作。 | 取值:
|
ResourceFilters | List | 否 | 是 | 資源過濾器列表。 資源清理器使用過濾器掃描出所有需要進行清理的資源。 | 過濾器列表最大長度為100。 只能指定ResourceFilters或Resources中的一個。 如果在更新資源清理器時,資源過濾器列表發生改變,則資源清理器會重新進行資源掃描。如果此時Action為CleanUp,則會引發失敗。 過濾器有兩種過濾行為(Effect):Allow和Deny。其工作方式如下(數字越小優先級越高):
更多信息,請參見ResourceFilters屬性。 |
Resources | List | 否 | 是 | 要清理的資源列表。 | 列表長度:1~1000。 只能指定ResourceFilters或Resources中的一個。 更多信息,請參見Resources屬性。 |
Mode | String | 否 | 是 | 資源清理器運行模式。 | 取值:
|
FailureOption | String | 否 | 是 | 資源清理失敗時依賴資源的選項 | 取值:
說明 依賴是指刪除依賴,而非創建依賴。 |
CleanUpRetryCount | Integer | 否 | 是 | 清理資源時的最大重試次數。 | 取值范圍:1~6。 默認值為:1,表示不重試。 觸發重試條件如下:(滿足任意一項)
|
CleanUpTimeout | Number | 否 | 是 | 清理資源時的超時時間。 | 取值范圍:60~14400。 單位:秒。 默認值:3600。 |
ExcludedResources | List | 否 | 是 | 待清理資源中要排除的資源列表。 | 列表長度:1~1000。 每一項只能排除一個資源。如果存在歧義,指向了多個資源,則會引發失敗。指定更多字段消除歧義。 更多信息,請參見ExcludedResources屬性。 |
CleanUpAlgorithm | String | 否 | 是 | 資源清理算法。 | 取值:
|
ResourceTypeOrder | List | 否 | 是 | 資源類型清理順序。 | 列表長度:1~1000。 當CleanUpAlgorithm取值為ResourceTypeOrder時,本參數生效。 列表中未指定的資源類型相關的資源不會進行掃描或清理。 關于資源類型可選值,請參見支持清理的資源類型。 |
DisabledSideEffects | List | 否 | 是 | 要禁用的副作用列表。 | 列表長度:1~50。 列表項由字母、數字和模糊匹配字符組成,列表項長度范圍:1-100。 模糊匹配僅支持 清理部分類型資源的時候會產生一定的副作用,可以通過調用GetFeatureDetails接口進行查詢。 |
ResourceFilters語法
"ResourceFilters": [
{
"IncludeDeletionProtection": Boolean,
"ResourceTypePatterns": List,
"ResourceIds": List,
"RegionIds": List,
"ResourceGroupIds": List,
"Effect": String,
"ResourceNamePatterns": List,
"Tags": List
}
]
ResourceFilters屬性
屬性名稱 | 類型 | 必須 | 允許更新 | 描述 | 約束 |
IncludeDeletionProtection | Boolean | 否 | 是 | 刪除保護過濾。 | 取值:
|
ResourceTypePatterns | List | 否 | 是 | 資源類型模糊匹配過濾列表。關于資源類型,請參見支持清理的資源類型。 | 列表長度:1~100。 當資源類型匹配列表中任意一項時,則通過此項過濾。 模糊匹配僅支持 列表中每一項的格式為 |
ResourceIds | List | 否 | 是 | 資源ID過濾列表。 | 列表長度:1~100。 當資源匹配列表中的任意一個資源ID時,則通過此項過濾。 列表項長度范圍:1-256。 |
RegionIds | List | 否 | 是 | 地域過濾列表。 | 列表長度:1~100。 當資源所在地域匹配列表中的任意一個地域時,則通過此項過濾。 列表項長度范圍:1-64。 |
ResourceGroupIds | List | 否 | 是 | 資源組過濾列表。 | 列表長度:1~100。 當資源屬于列表中的任意一項資源組時,則通過此項過濾。 列表項長度范圍:1-256。 |
Effect | String | 否 | 是 | 過濾行為。 | 取值:
|
ResourceNamePatterns | List | 否 | 是 | 資源名稱模糊匹配過濾列表。 | 列表長度:1~100。 當資源名稱匹配列表中任意一項時,則通過此項過濾。 模糊匹配僅支持 資源名稱僅支持字母、數字、中文、空格、 列表項長度范圍:1-100。 |
Tags | List | 否 | 是 | 標簽過濾列表。支持自定義標簽和系統標簽。 | 列表長度:1~100。 工作方式如下:
更多信息,請參見Tags屬性。 |
Tags語法
"Tags": [
{
"Value": String,
"Key": String
}
]
Tags屬性
屬性名稱 | 類型 | 必須 | 允許更新 | 描述 | 約束 |
Value | String | 否 | 是 | 標簽值。 | 長度:0-256。 說明 未指定該值與指定為空字符串不等價。 |
Key | String | 是 | 是 | 標簽鍵。 | 長度:1-256。 |
Resources語法
"Resources": [
{
"ResourceId": String,
"ResourceType": String,
"RegionId": String
}
]
Resources屬性
屬性名稱 | 類型 | 必須 | 允許更新 | 描述 | 約束 |
ResourceId | String | 是 | 是 | 要清理的資源的ID。 | 長度:1-256。 |
ResourceType | String | 是 | 是 | 要清理的資源類型。 | 更多信息,請參見支持清理的資源類型。 |
RegionId | String | 是 | 是 | 要清理的資源的地域ID。 | 長度:1-64。 |
ExcludedResources語法
"ExcludedResources": [
{
"ResourceId": String,
"ResourceType": String,
"RegionId": String
}
]
ExcludedResources屬性
屬性名稱 | 類型 | 必須 | 允許更新 | 描述 | 約束 |
ResourceId | String | 是 | 是 | 要排除的資源ID。 | 長度:1-256。 |
ResourceType | String | 否 | 是 | 要排除的資源類型。 | 更多信息,請參見支持清理的資源類型。 |
RegionId | String | 否 | 是 | 要排除的資源的地域ID。 | 長度:1-64。 |
返回值
Fn::GetAtt
ResourceDetails:待清理資源的詳細信息。取值為dict的列表,dict包含以下字段:
字段
類型
說明
ResourceType
String
資源類型。
RegionId
String
資源所在的地域ID。
ResourceId
String
資源ID。
ResourceName
String
資源名稱。
CleanupType
String
資源的清理類型。取值:
Normal:可以正常刪除資源。
DeleteWithInstance:資源將連同他所屬的資源一起被刪除。如果他所屬的資源被過濾或排除,刪除可能會失敗。CleanupTypeReasons提供了更多信息。
UnableToDelete:無法刪除資源。CleanupTypeReasons提供了更多信息。
CleanupTypeReasons
List
資源清理類型原因列表。
ResourceStatus
String
資源狀態。取值:
Deleting:資源正在刪除中。
Failure:資源刪除失敗。
Success:資源刪除成功。
Skipped:資源刪除被跳過。
Pending:資源待刪除。
ResourceStatusReason
String
資源狀態原因。
Dependencies
List
資源的刪除依賴。取值為dict的列表,dict包含以下字段:
ResourceType:依賴資源的資源類型。
RegionId:依賴資源的地域ID。
ResourceId:依賴資源的ID。
ResourcePartialDetails:簡化版本ResourceDetails,只包含ResourceType、RegionId、ResourceId、ResourceName、ResourceStatus、ResourceStatusReason字段。
NoCleanupResourceDetails:掃描過但不進行清理的資源詳情。格式與ResourceDetails相同。
NoCleanupResourcePartialDetails:簡化版本NoCleanupResourceDetails,只包含ResourceType、RegionId、ResourceId、ResourceName、ResourceStatus、ResourceStatusReason字段。
ResourceSummary:要清理的資源的摘要信息。取值為dict的列表,dict包含以下字段:
字段
類型
說明
ResourceType
String
資源類型。
DeletingCount
Integer
刪除中的資源數量。
SuccessCount
Integer
刪除成功的資源數量。
FailureCount
Integer
刪除失敗的資源數量。
SkippedCount
Integer
跳過刪除的資源數量。
PendingCount
Integer
待刪除的資源數量。
OtherCount
Integer
其他狀態的資源數量。
TotalCount
Integer
資源的總數量。
ScanErrors:掃描錯誤。僅在Mode為Loose時返回。取值為dict的列表,dict包含以下字段:
字段
類型
說明
ResourceType
String
資源類型。
RegionId
String
地域ID。
ErrorMessage
String
相關地域和資源類型掃描錯誤信息。
CleanResult:清理結果。取值如下:
Success:所有資源清理成功。
ResourceFailure:部分資源清理失敗。
Timeout:清理超時。
CheckFailure:清理預檢查失敗。
UnknownFailure:未知錯誤。
UserCancelled:用戶取消。
None:未觸發清理。
示例
ROSTemplateFormatVersion: '2015-09-01' Parameters: {} Resources: ResourceCleaner: Type: ALIYUN::ROS::ResourceCleaner Properties: FailureOption: Normal Action: Scan ResourceFilters: - ResourceIds: - i-bp1h09ipy0atb4kq**** CleanUpRetryCount: 1 CleanUpTimeout: 3600 ExcludedResources: - ResourceId: i-bp1h09ipy0atb4kq**** ResourceType: ECS:Instance Outputs: {}
{ "ROSTemplateFormatVersion": "2015-09-01", "Parameters": { }, "Resources": { "ResourceCleaner": { "Type": "ALIYUN::ROS::ResourceCleaner", "Properties": { "FailureOption": "Normal", "Action": "Scan", "ResourceFilters": [ { "ResourceIds": [ "i-bp1h09ipy0atb4kq****" ] } ], "CleanUpRetryCount": 1, "CleanUpTimeout": 3600, "ExcludedResources": [ { "ResourceId": "i-bp1h09ipy0atb4kq****", "ResourceType": "ECS:Instance" } ] } } }, "Outputs": { } }