DATASOURCE::CS::ClusterApplicationResources

DATASOURCE::CS::ClusterApplicationResources类型用于列出Kubernetes集群中指定类型的资源信息。

语法

{
  "Type": "DATASOURCE::CS::ClusterApplicationResources",
  "Properties": {
    "FirstMatch": Boolean,
    "ClusterId": String,
    "Kind": String,
    "JsonPath": String,
    "Namespace": String,
    "Name": String,
    "RefreshOptions": String
  }
}

属性

属性名称

类型

必须

允许更新

描述

约束

ClusterId

String

集群ID。

Kind

String

要查询的Kubernetes集群的类型。

取值:

  • ConfigMap

  • Service

  • PodTemplate

  • Namespace

  • Secret

  • Node

  • ComponentStatus

  • ReplicationController

  • LimitRange

  • ResourceQuota

  • PersistentVolumeClaim

  • ServiceAccount

  • PersistentVolume

  • Endpoints

  • Binding

  • Pod

  • Event

Name

String

要查询kubernetes集群的名称。

Namespace

String

kubernetes的命名空间。

JsonPath

String

用于筛选输出的 JsonPath表达式。

FirstMatch

Boolean

是否仅返回JsonPath过滤结果中的第一个匹配结果。

取值:

  • true:仅返回JsonPath过滤结果中的第一个匹配结果。

  • false(默认值):不只返回JsonPath过滤结果中的第一个匹配结果。

RefreshOptions

String

当资源栈更新时,数据源资源的刷新策略。

取值:

  • Never(默认值):更新堆栈时,从不刷新数据源资源。

  • Always:更新堆栈时,始终刷新数据源资源。

返回数据(Fn::GetAtt)

Response:要查询的Kubernetes资源集合。

属性名称

类型

描述

约束

metadata

Map

资源的元数据。

例如:

{"resourceVersion": "254****"}

apiVersion

String

API版本。

例如:v1。

kind

String

Kubernetes资源的类型。

取值:

  • ConfigmapList

  • ServiceList

  • PodTemplateList

  • Namespace

  • SecretList

  • NodeList

  • ComponentStatusList

  • ReplicationControllerList

  • LimitRangeList

  • ResourceQuotaList

  • PersistentVolumeClaimList

  • ServiceAccountList

  • PersistentVolumeList

  • EndpointsList

  • BindingList

  • PodList

  • EventList

items

List

Kubernetes资源详情列表。

仅在不指定Name时返回该信息。

例如:

[
  {
   "metadata": {
    "uid": "5a3d04e1-8a72-4566-b435-af56f77f****",
    "managedFields": [
     {
      "apiVersion": "v1",
      "fieldsV1": {
       "f:data": {
        "f:ca.crt": {},
        ".": {}
       },
       "f:metadata": {
        "f:annotations": {
         "f:kubernetes.io/description": {},
         ".": {}
        }
       }
      },
      "manager": "kube-controller-manager",
      "time": "2022-11-02T04:03:08Z",
      "operation": "Update",
      "fieldsType": "FieldsV1"
     }
    ],
    "resourceVersion": "254",
    "namespace": "default",
    "creationTimestamp": "2022-11-02T04:03:08Z",
    "name": "kube-root-ca.crt",
    "annotations": {
     "kubernetes.io/description": "Contains a CA bundle that can be used to verify the kube-apiserver when using internal endpoints such as the internal service IP or kubernetes.default.svc. No other usage is guaranteed across distributions of Kubernetes clusters."
    }
   },
   "apiVersion": "v1",
   "data": {
    "ca.crt": "-----BEGIN CERTIFICATE-----\nMIIDTjCCAjagAwIBAgIUZvaXvIyXCj7R1q7UgYKPmO+D4lgwDQYJKoZIhvcN****\nBQAwPjEnMA8GA1UEChMIaGFuZ3pob3UwFAYDVQQKEw1hbGliYWJhIGNsb3Vk****\nEQYDVQQDEwprdWJlcm5ldGVzMCAXDTIyMTEwMjAzNTgwMFoYDzIwNTIxMDI1****\nODAwWjA+MScwDwYDVQQKEwhoYW5nemhvdTAUBgNVBAoTDWFsaWJhYmEgY2xv****\nEzARBgNVBAMTCmt1YmVybmV0ZXMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw****\nAoIBAQDXEuGvRudCTo7FJoyQCBvfG2Zx+F+htG8****/doyE6LjW7o2lxejs****\nz/3QO4hzVpNsicdBlNNwzPyykKDoxgAXE8HLL5P****/RyE6CiANzG6qQRPE****\nKm9G88XdXnPsaYEwRAskPmnifR04Ofqp0d4tSAEYoMgLFIjfOhFezrhDNYQw****\nAr0H77bwse5PABcHtbZ3JIZlV7ArluH4FMHAqw4YWq71EgPxooRmqWxH7nOI****\nVTCfaJ5Jtxc2iuDlmIgODrpYyweoIxs7oIgXgDJT8/RZ0DOv2WEfzeTuuBYFE+fi\nkk+5WFy0WIIZkrc7KhZdru096rD1AgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIC****\nBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTPFeL0s4fc/uMRdLkkBpbyCYlb****\nBgkqhkiG9w0BAQsFAAOCAQEAFknCC6c7Y8aO8UEgC8e+y7oVuQokV2e+UhzM****\nryHO3XTPhE1paIaKsY70u2OgRHxqhQuuVm8pJbAXcKigXzK0tRcrS94p****\nQhNbiVsrZjws49Vy5iTigRhejiyIauS2qXwbq4Fh4miOM7cu02cXT58kdunR****\naS29Vzz9NeZXTCrUY19jkVoKIFVQpldyNJt/012SY044scejeba5/MsUPc01****\nPddEJLx5TuZb16K48qvSkGv1fJFNA/Dia61T4EDHRobcDU6ge2o6nSCy7AoX****\nDbHv5QxY7mhn1DJFJFzY13Ep/5xXUH5ZDtbY4vMyWio1****\n-----END CERTIFICATE-----\n"
   },
   "kind": "ConfigMap"
  }
 ]
                                

示例

本示例为您介绍如何使用DATASOURCE::CS::ClusterApplicationResources资源获取Kubernetes集群的ConfigMap。

JSON格式

{
  "ROSTemplateFormatVersion": "2015-09-01",
  "Parameters": {
    "ClusterId": {
      "Type": "String",
      "Description": "The ID of the kubernetes cluster."
    },
    "Kind": {
      "Type": "String",
      "Description": "The kind of kubernetes resources to query.",
      "Default": "ConfigMap",
      "AllowedValues": [
        "ConfigMap",
        "Service",
        "PodTemplate",
        "Namespace",
        "Secret",
        "Node",
        "ComponentStatus",
        "ReplicationController",
        "LimitRange",
        "ResourceQuota",
        "PersistentVolumeClaim",
        "ServiceAccount",
        "PersistentVolume",
        "Endpoints",
        "Binding",
        "Pod",
        "Event"
      ]
    }
  },
  "Resources": {
    "ClusterApplicationResources": {
      "Type": "DATASOURCE::CS::ClusterApplicationResources",
      "Properties": {
        "ClusterId": {
          "Ref": "ClusterId"
        },
        "Kind": {
          "Ref": "Kind"
        }
      }
    }
  },
  "Outputs": {
    "Response": {
      "Description": "Query result of kubernetes resource(s).",
      "Value": {
        "Fn::GetAtt": [
          "ClusterApplicationResources",
          "Response"
        ]
      }
    }
  }
}

YAML格式

ROSTemplateFormatVersion: '2015-09-01'
Parameters:
  ClusterId:
    Type: String
    Description: The ID of the kubernetes cluster.
  Kind:
    Type: String
    Description: The kind of kubernetes resources to query.
    Default: ConfigMap
    AllowedValues:
      - ConfigMap
      - Service
      - PodTemplate
      - Namespace
      - Secret
      - Node
      - ComponentStatus
      - ReplicationController
      - LimitRange
      - ResourceQuota
      - PersistentVolumeClaim
      - ServiceAccount
      - PersistentVolume
      - Endpoints
      - Binding
      - Pod
      - Event
Resources:
  ClusterApplicationResources:
    Type: DATASOURCE::CS::ClusterApplicationResources
    Properties:
      ClusterId:
        Ref: ClusterId
      Kind:
        Ref: Kind
Outputs:
  Response:
    Description: Query result of kubernetes resource(s).
    Value:
      Fn::GetAtt:
        - ClusterApplicationResources
        - Response