本頁說明如何使用 VM 管理工具的政策自動化調度管理工具功能,在資料夾或機構中,跨不同專案和可用區建立、更新或刪除 OS 政策資源。
事前準備
- 查看「OS 政策和 OS 政策指派作業」。
- 查看 OS 設定配額。
- 確認您符合使用政策自動調度管理工具的必要條件。
-
如果尚未設定驗證,請先完成設定。
「驗證」是指驗證身分的程序,確認您有權存取 Trusted Cloud by S3NS 服務和 API。如要從本機開發環境執行程式碼或範例,請選取下列任一選項,向 Compute Engine 進行驗證:
Select the tab for how you plan to use the samples on this page:
Console
When you use the Trusted Cloud console to access Trusted Cloud by S3NS services and APIs, you don't need to set up authentication.
gcloud
-
安裝 Google Cloud CLI,然後 使用同盟身分登入 gcloud CLI。 登入後,執行下列指令初始化 Google Cloud CLI:
gcloud init
- Set a default region and zone.
REST
如要在本機開發環境中使用本頁的 REST API 範例,請使用您提供給 gcloud CLI 的憑證。
安裝 Google Cloud CLI,然後 使用同盟身分登入 gcloud CLI。 登入後,執行下列指令初始化 Google Cloud CLI:
gcloud init
詳情請參閱 Trusted Cloud 驗證說明文件中的「Authenticate for using REST」。
在各專案和可用區中建立或更新 OS 政策指派作業
您可以建立政策自動調度管理工具,將 OS 政策套用至專案、資料夾或機構中的選定資源。
主控台
如要建立政策自動化調度管理工具,並在資料夾中套用 OS 政策指派作業,請按照下列步驟操作:
- 在本機用戶端上,建立或下載 OS 政策檔案。這個檔案必須是 JSON 或 YAML 檔案。如要進一步瞭解如何建立 OS 政策,或查看 OS 政策範例,請參閱「OS 政策」。
前往 Trusted Cloud 控制台的「OS policies」(作業系統政策) 頁面。
按一下 Trusted Cloud 控制台動作列中的「專案選取器」,然後選取要建立政策自動調度管理工具的專案、資料夾或機構。
按一下「建立政策自動化調度管理工具」。
指定政策協調器的名稱和說明。請參閱「資源命名慣例」。VM 管理工具會為政策自動調度管理工具指派專屬的自動調度管理工具 ID。 如有需要,您可以編輯這個 ID。
在「OS 政策」部分,上傳 OS 政策檔案。
選用步驟:在「狀態」部分,選取下列任一選項,指定政策協調器的行為:
ACTIVE
:政策自動化調度管理工具建立完成後,會立即採取行動。STOPPED
:在此狀態下建立的政策自動化調度管理工具不會立即採取任何動作。您稍後可以編輯政策協調器,變更其狀態。
在「動作」欄位中,選取「UPSERT」動作。
在「自動化調度範圍」部分,指定要推出 OS 政策的資料夾和專案。您只能在這些欄位中輸入專案編號和資料夾編號,例如
123456,7654321
。選取要套用 OS 政策的 VM 所在區域。 或者,按一下「全選」,將 OS 政策變更套用至所有可用區的資源。
選用:在「目標 VM 執行個體」區段中,指定要套用 OS 政策的目標 VM。
- 選取 OS 系列。
您可以指定要納入和排除的標籤,進一步篩選 VM。
舉例來說,您可以選取測試環境中的所有 Ubuntu VM,並指定下列項目,排除執行 Google Kubernetes Engine 的 VM:
- 作業系統系列:
ubuntu
- 包含:
env:test
、env:staging
- 排除:
goog-gke-node
- 作業系統系列:
指定 OS 政策指派作業的發布計畫。
- 指定波浪大小 (也稱為中斷預算)。例如 10%。
- 指定等待時間。例如 15 分鐘。
點選「建立」。
gcloud
如要建立政策協調器,請完成下列步驟:
以 JSON 或 YAML 格式建立或下載 OS 政策指派資源。 如要進一步瞭解這個檔案和範例政策指派作業,請參閱「OS 政策指派作業」。
使用
os-config policy-orchestrators create
指令,在指定範圍內建立及推出 OS 政策指派作業。
專案
gcloud compute os-config policy-orchestrators create ORCHESTRATOR_NAME \ --policy-type=os_policy_assignment_v1 \ --policy-file=OS_POLICY_ASSIGNMENT_YAML_FILE \ --policy-id=POLICY_ID
更改下列內容:
ORCHESTRATOR_NAME
:政策自動化調度管理工具的名稱。請參閱資源命名慣例。OS_POLICY_ASSIGNMENT_FILE
:您在上一個步驟建立的 OS 政策指派檔案絕對路徑。POLICY_ID
:政策協調器的專屬 ID。 如果未指定值,政策協調器會為協調器資源指派專屬 ID。
示例
gcloud compute os-config policy-orchestrators create my-os-policy-orchestrator \ --policy-type=os_policy_assignment_v1 \ --policy-file=/downloads/assignment-config.yaml \ --policy-id=policy-123
資料夾
gcloud --billing-project=QUOTA_PROJECT_ID compute os-config policy-orchestrators create ORCHESTRATOR_NAME \ --folder=FOLDER_NUMBER \ --policy-type=os_policy_assignment_v1 \ --policy-file=OS_POLICY_ASSIGNMENT_YAML_FILE \ --policy-id=POLICY_ID \ --include-projects=PROJECT_NUMBERS
更改下列內容:
QUOTA_PROJECT_ID
:配額或帳單專案的專案 ID。ORCHESTRATOR_NAME
:政策自動化調度管理工具的名稱。請參閱資源命名慣例。FOLDER_NUMBER
:要在哪個資料夾中建立政策自動化調度管理工具的資料夾編號。OS_POLICY_ASSIGNMENT_FILE
:您在上一個步驟建立的 OS 政策指派檔案絕對路徑。POLICY_ID
:政策協調器的專屬 ID。 如果未指定值,政策協調器會為協調器資源指派專屬 ID。PROJECT_NUMBERS
:要套用 OS 政策指派項目的專案清單。您必須指定專案編號,也就是專案的不重複數字 ID。
示例
gcloud --billing-project=my-quota-project compute os-config policy-orchestrators create my-os-policy-orchestrator \ --folder=123456 \ --policy-type=os_policy_assignment_v1 \ --policy-file=/downloads/assignment-config.yaml \ --policy-id=policy-123 \ --include-projects=87654321,4567890
機構
gcloud --billing-project=QUOTA_PROJECT_ID compute os-config policy-orchestrators create ORCHESTRATOR_NAME \ --organization=ORGANIZATION_NUMBER \ --policy-type=os_policy_assignment_v1 \ --policy-file=OS_POLICY_ASSIGNMENT_YAML_FILE \ --policy-id=POLICY_ID \ --include-projects=PROJECT_NUMBERS
更改下列內容:
QUOTA_PROJECT_ID
:配額或帳單專案的專案 ID。ORCHESTRATOR_NAME
:政策自動化調度管理工具的名稱。請參閱資源命名慣例。FOLDER_NUMBER
:要在哪個資料夾中建立政策自動化調度管理工具的資料夾編號。OS_POLICY_ASSIGNMENT_FILE
:您在上一個步驟建立的 OS 政策指派檔案絕對路徑。POLICY_ID
:政策協調器的專屬 ID。 如果未指定值,政策協調器會為協調器資源指派專屬 ID。PROJECT_NUMBERS
:要套用 OS 政策指派項目的專案清單。您必須指定專案編號,也就是專案的不重複數字 ID。
示例
gcloud --billing-project=my-quota-project compute os-config policy-orchestrators create my-os-policy-orchestrator \ --organization=123456 \ --policy-type=os_policy_assignment_v1 \ --policy-file=/downloads/assignment-config.yaml \ --policy-id=policy-123 \ --include-projects=87654321,4567890
REST
如要建立政策協調器,請完成下列步驟:
建立或下載 OS 政策指派作業檔案。這必須是 JSON 檔案。如要進一步瞭解如何建立 OS 政策指派作業,或查看 OS 政策指派作業範例,請參閱「OS 政策指派作業」。
視建立政策協調器的範圍而定,請使用下列其中一種方法:
專案
向
projects.locations.global.policyOrchestrators.create
方法傳送POST
要求。在要求主體中,貼上上一個步驟中的 OS 政策指派規格。
POST https://osconfig.googleapis.com/v2/projects/PROJECT_NUMBER/locations/global/policyOrchestrators { JSON_OS_POLICY_ORCHESTRATOR }
更改下列內容:
PROJECT_NUMBER
:您要在其中建立政策自動化調度管理工具的專案數值 ID。JSON_OS_POLICY_ORCHESTRATOR
:JSON 格式的政策自動化調度管理工具物件,定義自動化調度管理工具範圍、自動化調度管理資源和自動化調度管理狀態。如要進一步瞭解參數和格式,請參閱Resource: folders.locations.global.policyOrchestrators
。
示例
舉例來說,如要建立 OS 政策指派作業,從 Cloud Storage 值區下載 Windows MSI,並使用範例 OS 政策指派作業安裝,請完成下列步驟:
- 將範例轉換為 JSON
發出下列要求:
POST https://osconfig.googleapis.com/v2/projects/123456/locations/global/policyOrchestrators { "action": "UPSERT", "orchestratedResource": { "osPolicyAssignmentV1Payload": { "instanceFilter": { "inventories": [ { "osShortName": "windows" } ] }, "osPolicies": [ { "id": "install-msi-policy", "mode": "ENFORCEMENT", "resourceGroups": [ { "resources": [ { "id": "install-msi", "pkg": { "desiredState": "INSTALLED", "msi": { "source": { "gcs": { "bucket": "my-bucket", "generation": "1619136883923956", "object": "my-app.msi" } } } } } ] } ] } ], "rollout": { "disruptionBudget": { "fixed": 10 }, "minWaitDuration": "300s" } } }, "orchestrationScope": { "selectors": [ { "resourceHierarchySelector": { "includedProjects": [ "projects/87654321", "projects/4567890" ] } } ] }, "state": "ACTIVE" }
資料夾
對
folders.locations.global.policyOrchestrators.create
方法發出POST
要求。在要求主體中,貼上上一個步驟中的 OS 政策指派規格。
POST https://osconfig.googleapis.com/v2/folders/FOLDER_NUMBER/locations/global/policyOrchestrators -H "x-goog-user-project: QUOTA_PROJECT_ID" { JSON_OS_POLICY_ORCHESTRATOR }
更改下列內容:
QUOTA_PROJECT_ID
:配額或帳單專案的專案 ID。FOLDER_NUMBER
:您要在其中建立政策自動化調度管理工具的資料夾數值 ID。JSON_OS_POLICY_ORCHESTRATOR
:JSON 格式的政策自動化調度管理工具物件,定義自動化調度管理工具範圍、自動化調度管理資源和自動化調度管理狀態。如要進一步瞭解參數和格式,請參閱Resource: folders.locations.global.policyOrchestrators
。
示例
舉例來說,如要建立 OS 政策指派作業,從 Cloud Storage 值區下載 Windows MSI,並使用範例 OS 政策指派作業安裝,請完成下列步驟:
- 將範例轉換為 JSON
發出下列要求:
POST https://osconfig.googleapis.com/v2/folders/123456/locations/global/policyOrchestrators \ -H "x-goog-user-project: my-quota-project { "action": "UPSERT", "orchestratedResource": { "osPolicyAssignmentV1Payload": { "instanceFilter": { "inventories": [ { "osShortName": "windows" } ] }, "osPolicies": [ { "id": "install-msi-policy", "mode": "ENFORCEMENT", "resourceGroups": [ { "resources": [ { "id": "install-msi", "pkg": { "desiredState": "INSTALLED", "msi": { "source": { "gcs": { "bucket": "my-bucket", "generation": "1619136883923956", "object": "my-app.msi" } } } } } ] } ] } ], "rollout": { "disruptionBudget": { "fixed": 10 }, "minWaitDuration": "300s" } } }, "orchestrationScope": { "selectors": [ { "resourceHierarchySelector": { "includedProjects": [ "projects/87654321", "projects/4567890" ] } } ] }, "state": "ACTIVE" }
機構
對
organizations.locations.global.policyOrchestrators.create
方法發出POST
要求。在要求主體中,貼上上一個步驟中的 OS 政策指派規格。
POST https://osconfig.googleapis.com/v2/organizations/ORGANIZATION_NUMBER/locations/global/policyOrchestrators \ -H "x-goog-user-project: QUOTA_PROJECT_ID" { JSON_OS_POLICY_ORCHESTRATOR }
更改下列內容:
QUOTA_PROJECT_ID
:配額或帳單專案的專案 ID。ORGANIZATION_NUMBER
:要在其中建立政策自動化調度管理工具的機構數值 ID。JSON_OS_POLICY_ORCHESTRATOR
:JSON 格式的政策自動化調度管理工具物件,定義自動化調度管理工具範圍、自動化調度管理資源和自動化調度管理狀態。如要進一步瞭解參數和格式,請參閱Resource: organizations.locations.global.policyOrchestrators
。
示例
舉例來說,如要建立 OS 政策指派作業,從 Cloud Storage 值區下載 Windows MSI,並使用範例 OS 政策指派作業安裝,請完成下列步驟:
- 將範例轉換為 JSON
發出下列要求:
POST https://osconfig.googleapis.com/v2/organizations/567890/locations/global/policyOrchestrators \ -H "x-goog-user-project: my-quota-project { "action": "UPSERT", "orchestratedResource": { "osPolicyAssignmentV1Payload": { "instanceFilter": { "inventories": [ { "osShortName": "windows" } ] }, "osPolicies": [ { "id": "install-msi-policy", "mode": "ENFORCEMENT", "resourceGroups": [ { "resources": [ { "id": "install-msi", "pkg": { "desiredState": "INSTALLED", "msi": { "source": { "gcs": { "bucket": "my-bucket", "generation": "1619136883923956", "object": "my-app.msi" } } } } } ] } ] } ], "rollout": { "disruptionBudget": { "fixed": 10 }, "minWaitDuration": "300s" } } }, "orchestrationScope": { "selectors": [ { "resourceHierarchySelector": { "includedProjects": [ "projects/87654321", "projects/4567890" ] } } ] }, "state": "ACTIVE" }
從多個專案刪除 OS 政策指派作業
您可以指定 OS 政策資源的專屬政策 ID,使用政策自動化調度管理工具,從資料夾或機構中的多個專案刪除 OS 政策。
主控台
如要刪除資料夾中的 OS 原則,請按照下列步驟操作:
- 在本機用戶端上,建立或下載 OS 政策檔案。這個檔案必須是 JSON 或 YAML 檔案。如要進一步瞭解如何建立 OS 政策,或查看 OS 政策範例,請參閱「OS 政策」。
前往 Trusted Cloud 控制台的「OS policies」(作業系統政策) 頁面。
按一下 Trusted Cloud 控制台動作列中的「專案選取器」,然後選取要建立政策自動調度管理工具的專案、資料夾或機構。
按一下「建立政策自動化調度管理工具」。
指定政策協調器的名稱和說明。請參閱「資源命名慣例」。VM 管理工具會為政策自動調度管理工具指派專屬的自動調度管理工具 ID。 如有需要,您可以編輯這個 ID。
在「作業系統政策」部分,選取並上傳作業系統政策檔案。
選用步驟:在「狀態」部分,選取下列任一選項,指定政策協調器的行為:
ACTIVE
:政策自動化調度管理工具建立完成後,會立即採取行動。STOPPED
:在此狀態下建立的政策自動化調度管理工具不會立即採取任何動作。您稍後可以編輯政策協調器,變更其狀態。
在「動作」欄位中,選取「DELETE」動作。
在「自動化調度範圍」部分,指定要推出 OS 政策的資料夾和專案。您只能在這些欄位中輸入專案編號和資料夾編號,例如
123456,7654321
。選取要套用 OS 政策的 VM 所在區域。
選用:在「目標 VM 執行個體」區段中,指定要套用 OS 政策的目標 VM。
- 選取 OS 系列。
您可以指定要納入和排除的標籤,進一步篩選 VM。
舉例來說,您可以選取測試環境中的所有 Ubuntu VM,並指定下列項目,排除執行 Google Kubernetes Engine 的 VM:
- 作業系統系列:
ubuntu
- 包含:
env:test
、env:staging
- 排除:
goog-gke-node
- 作業系統系列:
指定 OS 政策指派作業的發布計畫。
- 指定波浪大小 (也稱為中斷預算)。例如 10%。
- 指定等待時間。例如 15 分鐘。
點選「建立」。
gcloud
如要使用政策自動化調度管理工具從多個專案刪除 OS 政策,請使用
os-config policy-orchestrators create
指令,並將與 OS 政策指派作業相關聯的policy-id
動作指定為delete
。專案
gcloud compute os-config policy-orchestrators create ORCHESTRATOR_NAME \ --policy-type=os_policy_assignment_v1 \ --policy-file=OS_POLICY_ASSIGNMENT_FILE \ --policy-id=POLICY_ID \ --action=delete
更改下列內容:
ORCHESTRATOR_NAME
:政策自動化調度管理工具的名稱。OS_POLICY_ASSIGNMENT_FILE
:OS 政策指派檔案的絕對路徑。POLICY_ID
:OS 政策自動化調度管理工具資源的政策 ID。
示例
gcloud compute os-config policy-orchestrators create my-os-policy-orchestrator \ --policy-type=os_policy_assignment_v1 --policy-id=my-policy \ --action=delete
資料夾
gcloud --billing-project=QUOTA_PROJECT_ID compute os-config policy-orchestrators create ORCHESTRATOR_NAME \ --policy-type=os_policy_assignment_v1 \ --policy-id=POLICY_ID \ --action=delete
更改下列內容:
QUOTA_PROJECT_ID
:配額或帳單專案的專案 ID。ORCHESTRATOR_NAME
:政策自動化調度管理工具的名稱。FOLDER_NUMBER
:您要從中刪除 OS 政策資源的資料夾數值 ID。POLICY_ID
:OS 政策自動化調度管理工具資源的政策 ID。
示例
gcloud --billing-project=my-quota-project compute os-config policy-orchestrators create my-os-policy-orchestrator \ --folder=123456 \ --policy-type=os_policy_assignment_v1 \ --policy-id=my-policy \ --action=delete
機構
gcloud --billing-project=QUOTA_PROJECT_ID compute os-config policy-orchestrators create ORCHESTRATOR_NAME \ --organization=ORGANIZATION_NUMBER \ --policy-type=os_policy_assignment_v1 \ --policy-id=POLICY_ID \ --action=delete
更改下列內容:
QUOTA_PROJECT_ID
:配額或帳單專案的專案 ID。ORCHESTRATOR_NAME
:政策自動化調度管理工具的名稱。ORGANIZATION_NUMBER
:要刪除 OS 政策資源的機構數字 ID。POLICY_ID
:OS 政策自動化調度管理工具資源的政策 ID。
示例
gcloud --billing-project=my-quota-project compute os-config policy-orchestrators create my-os-policy-orchestrator \ --organization=987654321 --policy-type=os_policy_assignment_v1 --policy-id=my-policy \ --action=delete
REST
如要建立政策自動化調度管理工具,從多個專案中刪除 OS 政策,請使用下列其中一種方法,並將動作指定為
DELETE
:專案
向
projects.locations.global.policyOrchestrators.create
方法傳送POST
要求。在要求主體中,指定與 OS 政策指派作業相關聯的政策 ID。
POST https://osconfig.googleapis.com/v2/projects/PROJECT_NUMBER/locations/global/policyOrchestrators { JSON_OS_POLICY_ORCHESTRATOR }
更改下列內容:
PROJECT_NUMBER
:您要在其中建立政策自動化調度管理工具的專案數值 ID。JSON_OS_POLICY_ORCHESTRATOR
:JSON 格式的政策自動化調度管理工具物件,定義自動化調度管理工具範圍、自動化調度管理資源和自動化調度管理狀態。如要進一步瞭解參數和格式,請參閱Resource: folders.locations.global.policyOrchestrators
。
示例
POST https://osconfig.googleapis.com/v2/projects/567890/locations/global/policyOrchestrators { "action": "DELETE", "orchestratedResource": { "id": "my-policy", "osPolicyAssignmentV1Payload": {} }, "orchestrationScope": { "selectors": [ { "resourceHierarchySelector": { "includedProjects": [ "projects/87654321", "projects/4567890" ] } } ] }, "state": "ACTIVE" }
資料夾
對
folders.locations.global.policyOrchestrators.create
方法發出POST
要求。在要求主體中,指定與 OS 政策指派作業相關聯的政策 ID。
POST https://osconfig.googleapis.com/v2/folders/FOLDER_NUMBER/locations/global/policyOrchestrators -H "x-goog-user-project: QUOTA_PROJECT_ID" { JSON_OS_POLICY_ORCHESTRATOR }
更改下列內容:
QUOTA_PROJECT_ID
:配額或帳單專案的專案 ID。FOLDER_NUMBER
:您要從中刪除 OS 政策資源的資料夾數值 ID。JSON_OS_POLICY_ORCHESTRATOR
:JSON 格式的政策自動化調度管理工具物件,定義政策 ID、自動化調度管理工具範圍、自動化調度管理資源和自動化調度管理狀態。如要進一步瞭解參數和格式,請參閱Resource: folders.locations.global.policyOrchestrators
。
示例
舉例來說,如要從多個專案刪除 OS 政策資源,請發出下列要求:
POST https://osconfig.googleapis.com/v2/folders/567890/locations/global/policyOrchestrators -H "x-goog-user-project: my-quota-project { "action": "DELETE", "orchestratedResource": { "id": "my-policy", "osPolicyAssignmentV1Payload": {} }, "orchestrationScope": { "selectors": [ { "resourceHierarchySelector": { "includedProjects": [ "projects/87654321", "projects/4567890" ] } } ] }, "state": "ACTIVE" }
機構
對
organizations.locations.global.policyOrchestrators.create
方法發出POST
要求。在要求主體中,指定與 OS 政策指派作業相關聯的政策 ID。
POST https://osconfig.googleapis.com/v2/organizations/ORGANIZATION_NUMBER/locations/global/policyOrchestrators -H "x-goog-user-project: QUOTA_PROJECT_ID" { JSON_OS_POLICY_ORCHESTRATOR }
更改下列內容:
QUOTA_PROJECT_ID
:配額或帳單專案的專案 ID。ORGANIZATION_NUMBER
:要刪除 OS 政策資源的機構數字 ID。JSON_OS_POLICY_ORCHESTRATOR
:JSON 格式的政策自動化調度管理工具物件,定義政策 ID、自動化調度管理工具範圍、自動化調度管理資源和自動化調度管理狀態。如要進一步瞭解參數和格式,請參閱Resource: organizations.locations.global.policyOrchestrators
。
示例
舉例來說,如要從多個專案刪除 OS 政策資源,請傳送下列要求:
POST https://osconfig.googleapis.com/v2/organizations/567890/locations/global/policyOrchestrators -H "x-goog-user-project: my-quota-project { "action": "DELETE", "orchestratedResource": { "id": "my-policy", "osPolicyAssignmentV1Payload": {} }, "orchestrationScope": { "selectors": [ { "resourceHierarchySelector": { "includedProjects": [ "projects/87654321", "projects/4567890" ] } } ] }, "state": "ACTIVE" }
後續步驟
除非另有註明,否則本頁面中的內容是採用創用 CC 姓名標示 4.0 授權,程式碼範例則為阿帕契 2.0 授權。詳情請參閱《Google Developers 網站政策》。Java 是 Oracle 和/或其關聯企業的註冊商標。
上次更新時間:2025-08-08 (世界標準時間)。
[[["容易理解","easyToUnderstand","thumb-up"],["確實解決了我的問題","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["缺少我需要的資訊","missingTheInformationINeed","thumb-down"],["過於複雜/步驟過多","tooComplicatedTooManySteps","thumb-down"],["過時","outOfDate","thumb-down"],["翻譯問題","translationIssue","thumb-down"],["示例/程式碼問題","samplesCodeIssue","thumb-down"],["其他","otherDown","thumb-down"]],["上次更新時間:2025-08-08 (世界標準時間)。"],[[["This feature, policy orchestrator in VM Manager, allows for the creation, updating, and deletion of OS policy resources across multiple projects and zones within folders or organizations."],["Policy orchestrators can apply OS policies to resources at the project, folder, or organization level, managing OS policy assignments using a JSON or YAML file."],["The policy orchestrator supports two main actions: UPSERT to create or update OS policies, and DELETE to remove OS policies, along with the ability to define a rollout plan."],["Prerequisites must be met, including authentication setup and reviewing OS policy assignment documentation, before utilizing the policy orchestrator."],["When using the Google Cloud console in Preview, only folder-level orchestrators can be created, and the feature is subject to Pre-GA Offerings Terms with limited support."]]],[]] -