ALIYUN::ComputeNest::ServiceInstance

ALIYUN::ComputeNest::ServiceInstance类型用于创建并部署服务实例。

语法

{
  "Type": "ALIYUN::ComputeNest::ServiceInstance",
  "Properties": {
    "SpecificationCode": String,
    "Parameters": String,
    "ResourceGroupId": String,
    "OperationName": String,
    "EnableInstanceOps": Boolean,
    "Service": Map,
    "PredefinedParameterName": String,
    "Commodity": Map,
    "EnableUserPrometheus": Boolean,
    "TemplateName": String,
    "ContactGroup": String,
    "Tags": List,
    "ServiceInstanceName": String,
    "ResourceAutoPay": Boolean,
    "DryRun": Boolean
  }
}

属性

属性名称

类型

必须

允许更新

描述

约束

Service

Map

服务详情。

更多信息,请参见Service属性

Commodity

Map

云市场购买订单信息,服务未上云市场或按量计费不必传。

更多信息,请参见Commodity属性

ContactGroup

String

接收告警的云监控联系人组。

EnableInstanceOps

Boolean

服务实例是否有代运维功能。

取值:

  • true:服务实例有代运维功能。

  • false:服务实例没有代运维功能。

EnableUserPrometheus

Boolean

是否启用Prometheus监控。

取值:

  • true:启用。

  • false:不启用。

OperationName

String

操作名称。

Parameters

String

用户实例部署的参数。

例如:

{"NodeCount": 3, "SystemDiskSize": 40, "InstancePassword": "******"}

PredefinedParameterName

String

套餐名称。

ResourceGroupId

String

资源组ID。

SpecificationCode

String

商品规格码。

Tags

List

用户自定义标签。

{'Length': {'Max': 20}}

TemplateName

String

模板名称。

服务支持多模板时需要指定模板名称。

ServiceInstanceName

String

服务实例名称。

ResourceAutoPay

Boolean

资源是否自动从余额中扣款支付。

取值:

  • true:自动支付。

  • false:不自动支付。

DryRun

Boolean

是否对此次创建请求执行预检。

包括权限、实例状态校验等。可能的值:

  • true:发送请求,不创建服务实例。

  • false:发送请求,检查通过后创建服务实例。

Service语法

"Service": {
  "ServiceInfos": List,
  "ServiceDocUrl": String,
  "DeployType": String,
  "ServiceProductUrl": String,
  "ServiceType": String,
  "SupplierUrl": String,
  "Status": String,
  "SupplierName": String,
  "PublishTime": String,
  "UpgradableServiceVersions": List,
  "DeployMetadata": String,
  "VersionName": String,
  "UpgradeMetadata": String,
  "Version": String,
  "ServiceId": String
}

Service属性

属性名称

类型

必须

允许更新

描述

约束

ServiceInfos

List

服务信息。

更多信息,请参考ServiceInfos属性

ServiceDocUrl

String

产品文档的 URL。

DeployType

String

部署类型。

可能值:

  • ros:通过 ROS 部署。

  • terraform:通过 Terraform 部署。

  • ack:通过 ACK 部署。

  • spi:调用 SPI 部署。

  • operation:代运维服务部署。

Version

String

服务商版本。

ServiceId

String

服务ID。

ServiceProductUrl

String

产品页 URL。

ServiceType

String

服务类型。

可能值:

  • private:部署在用户账户下。

  • managed:托管在服务商账户下。

  • operation:代运维服务。

SupplierUrl

String

服务商地址。

Status

String

服务实例的部署状态。

可能值:

  • Created:已创建。

  • Deploying:部署中。

  • DeployedFailed:部署失败。

  • Deployed:已部署。

  • Upgrading:升级中。

  • Deleting:删除中。

  • Deleted:已删除。

  • DeletedFailed:删除失败。

SupplierName

String

服务商名称。

PublishTime

String

发布时间。

UpgradableServiceVersions

List

可升级的服务版本列表。

DeployMetadata

String

存储服务部署配置的信息。

VersionName

String

服务商自定义版本名称。

UpgradeMetadata

String

升级元数据。

ServiceInfos语法

"ServiceInfos": [
  {
    "Image": String,
    "Locale": String,
    "Name": String,
    "ShortDescription": String
  }
]

ServiceInfos属性

属性名称

类型

必须

允许更新

描述

约束

Image

String

服务图标地址。

Locale

String

服务实例语言。

Name

String

服务名称。

ShortDescription

String

服务概述。

Commodity语法

"Commodity": {
  "PayPeriod": Integer,
  "PayPeriodUnit": String,
  "AutoRenew": Boolean,
  "CouponId": String,
  "AutoPay": Boolean
}

Commodity属性

属性名称

类型

必须

允许更新

描述

约束

PayPeriod

Integer

购买时间长度。

PayPeriodUnit

String

购买时间单位。

取值:

  • Year:年。

  • Month:月。

  • Day:日。

AutoRenew

Boolean

是否开启自动续费

取值:

  • true:开启。

  • false:不开启。

CouponId

String

优惠券 ID。

AutoPay

Boolean

订单是否自动支付。

取值:

  • true:自动支付。

  • false:不自动支付。

Tags语法

"Tags": [
  {
    "Value": String,
    "Key": String
  }
]

Tags属性

属性名称

类型

必须

允许更新

描述

约束

Key

String

标签键。

长度为1~128个字符,不能以aliyunacs:开头,不能包含http://https://

Value

String

标签值。

长度为0~128个字符,不能以aliyunacs:开头,不能包含http://https://

返回值

Fn::GetAtt

Progress:服务实例的部署进度。

Parameters:部署服务实例输入的参数。

ResourceGroupId:资源组ID。

EnableInstanceOps:服务实例是否有代运维功能。

CreateTime:创建时间。

NetworkConfig:网络配置信息。

Service:服务详情。

PredefinedParameterName:套餐名称。

Source:服务实例来源。

Components:云市场额外计费项。

LicenseEndTime:许可到期时间。

ServiceInstanceId:服务实例ID。

UserId:用户的AliUid。

EnableUserPrometheus:是否启用Prometheus监控。

ServiceType:服务类型。

StatusDetail:部署实例的状态描述。

UpdateTime:更新时间。

Outputs:创建服务实例返回的输出字段。

TemplateName:模板名称。

IsOperated:服务实例的代运维功能是否开启。

SupplierUid:服务商AliUid。

Tags:用户自定义标签。

Output:创建服务实例返回的输出字段。

ServiceInstanceName:服务实例名称。

MarketInstanceId:云市场实例 ID。

示例

ROSTemplateFormatVersion: '2015-09-01'
Parameters:
  Parameters:
    Type: Json
    Description: The parameters entered by the deployment service instance.
    Default:
      NodeCount: 3
      SystemDiskSize: 40
      InstancePassword: '******'
  Service:
    Type: Json
    Description: Service details.
    Default:
      Version: 1
      ServiceId: service-9c8a3522528b4fe8****
Resources:
  ExtensionResource:
    Type: ALIYUN::ComputeNest::ServiceInstance
    Properties:
      Parameters:
        Ref: Parameters
      Service:
        Ref: Service
Outputs:
  Progress:
    Description: The deployment progress of the service instance. Unit:%.
    Value:
      Fn::GetAtt:
        - ExtensionResource
        - Progress
  Parameters:
    Description: The parameters entered by the deployment service instance.
    Value:
      Fn::GetAtt:
        - ExtensionResource
        - Parameters
{
  "ROSTemplateFormatVersion": "2015-09-01",
  "Parameters": {
    "Parameters": {
      "Type": "Json",
      "Description": "The parameters entered by the deployment service instance.",
      "Default": {
        "NodeCount": 3,
        "SystemDiskSize": 40,
        "InstancePassword": "******"
      }
    },
    "Service": {
      "Type": "Json",
      "Description": "Service details.",
      "Default": {
        "Version": 1,
        "ServiceId": "service-9c8a3522528b4fe8****"
      }
    }
  },
  "Resources": {
    "ExtensionResource": {
      "Type": "ALIYUN::ComputeNest::ServiceInstance",
      "Properties": {
        "Parameters": {
          "Ref": "Parameters"
        },
        "Service": {
          "Ref": "Service"
        }
      }
    }
  },
  "Outputs": {
    "Progress": {
      "Description": "The deployment progress of the service instance. Unit:%.",
      "Value": {
        "Fn::GetAtt": [
          "ExtensionResource",
          "Progress"
        ]
      }
    },
    "Parameters": {
      "Description": "The parameters entered by the deployment service instance.",
      "Value": {
        "Fn::GetAtt": [
          "ExtensionResource",
          "Parameters"
        ]
      }
    }
  }
}