NestServiceInstanceArgs

data class NestServiceInstanceArgs(val commodity: Output<NestServiceInstanceCommodityArgs>? = null, val enableInstanceOps: Output<Boolean>? = null, val enableUserPrometheus: Output<Boolean>? = null, val operationMetadata: Output<NestServiceInstanceOperationMetadataArgs>? = null, val parameters: Output<String>? = null, val paymentType: Output<String>? = null, val resourceGroupId: Output<String>? = null, val serviceId: Output<String>? = null, val serviceInstanceName: Output<String>? = null, val serviceVersion: Output<String>? = null, val specificationName: Output<String>? = null, val tags: Output<Map<String, Any>>? = null, val templateName: Output<String>? = null) : ConvertibleToJava<NestServiceInstanceArgs>

Provides a Compute Nest Service Instance resource. For information about Compute Nest Service Instance and how to use it, see What is Service Instance.

NOTE: Available in v1.205.0+.

Example Usage

Basic Usage

package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.alicloud.resourcemanager.ResourcemanagerFunctions;
import com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;
import com.pulumi.alicloud.AlicloudFunctions;
import com.pulumi.alicloud.inputs.GetZonesArgs;
import com.pulumi.alicloud.ecs.EcsFunctions;
import com.pulumi.alicloud.ecs.inputs.GetInstanceTypesArgs;
import com.pulumi.alicloud.ecs.inputs.GetImagesArgs;
import com.pulumi.alicloud.vpc.VpcFunctions;
import com.pulumi.alicloud.vpc.inputs.GetNetworksArgs;
import com.pulumi.alicloud.vpc.inputs.GetSwitchesArgs;
import com.pulumi.alicloud.ecs.SecurityGroup;
import com.pulumi.alicloud.ecs.SecurityGroupArgs;
import com.pulumi.alicloud.ecs.Instance;
import com.pulumi.alicloud.ecs.InstanceArgs;
import com.pulumi.alicloud.compute.NestServiceInstance;
import com.pulumi.alicloud.compute.NestServiceInstanceArgs;
import com.pulumi.alicloud.compute.inputs.NestServiceInstanceOperationMetadataArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
final var defaultResourceGroups = ResourcemanagerFunctions.getResourceGroups();
final var defaultZones = AlicloudFunctions.getZones(GetZonesArgs.builder()
.availableDiskCategory("cloud_efficiency")
.availableResourceCreation("VSwitch")
.build());
final var defaultInstanceTypes = EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()
.availabilityZone(defaultZones.applyValue(getZonesResult -> getZonesResult.zones()[0].id()))
.instanceTypeFamily("ecs.sn1ne")
.build());
final var defaultImages = EcsFunctions.getImages(GetImagesArgs.builder()
.nameRegex("^ubuntu_[0-9]+_[0-9]+_x64*")
.mostRecent(true)
.owners("system")
.build());
final var defaultNetworks = VpcFunctions.getNetworks(GetNetworksArgs.builder()
.nameRegex("your_name_regex")
.build());
final var defaultSwitches = VpcFunctions.getSwitches(GetSwitchesArgs.builder()
.vpcId(defaultNetworks.applyValue(getNetworksResult -> getNetworksResult.ids()[0]))
.zoneId(defaultZones.applyValue(getZonesResult -> getZonesResult.zones()[0].id()))
.build());
var defaultSecurityGroup = new SecurityGroup("defaultSecurityGroup", SecurityGroupArgs.builder()
.vpcId(defaultNetworks.applyValue(getNetworksResult -> getNetworksResult.ids()[0]))
.build());
var defaultInstance = new Instance("defaultInstance", InstanceArgs.builder()
.imageId(defaultImages.applyValue(getImagesResult -> getImagesResult.images()[0].id()))
.instanceType(defaultInstanceTypes.applyValue(getInstanceTypesResult -> getInstanceTypesResult.instanceTypes()[0].id()))
.securityGroups(defaultSecurityGroup.stream().map(element -> element.id()).collect(toList()))
.internetChargeType("PayByTraffic")
.internetMaxBandwidthOut("10")
.availabilityZone(defaultZones.applyValue(getZonesResult -> getZonesResult.zones()[0].id()))
.instanceChargeType("PostPaid")
.systemDiskCategory("cloud_efficiency")
.vswitchId(defaultSwitches.applyValue(getSwitchesResult -> getSwitchesResult.ids()[0]))
.build());
var defaultNestServiceInstance = new NestServiceInstance("defaultNestServiceInstance", NestServiceInstanceArgs.builder()
.serviceId("service-dd475e6e468348799f0f")
.serviceVersion("1")
.serviceInstanceName(var_.name())
.resourceGroupId(defaultResourceGroups.applyValue(getResourceGroupsResult -> getResourceGroupsResult.groups()[0].id()))
.paymentType("Permanent")
.operationMetadata(NestServiceInstanceOperationMetadataArgs.builder()
.operationStartTime("1681281179000")
.operationEndTime("1681367579000")
.resources(defaultInstance.id().applyValue(id -> String.format("{{\"Type\":\"ResourceIds\",\"ResourceIds\":{{\"ALIYUN::ECS::INSTANCE\":[\"%s\"]}},\"RegionId\":\"cn-hangzhou\"}}", id)))
.build())
.tags(Map.ofEntries(
Map.entry("Created", "TF"),
Map.entry("For", "ServiceInstance")
))
.build());
}
}

Import

Compute Nest Service Instance can be imported using the id, e.g.

$ pulumi import alicloud:compute/nestServiceInstance:NestServiceInstance example <id>

Constructors

Link copied to clipboard
fun NestServiceInstanceArgs(commodity: Output<NestServiceInstanceCommodityArgs>? = null, enableInstanceOps: Output<Boolean>? = null, enableUserPrometheus: Output<Boolean>? = null, operationMetadata: Output<NestServiceInstanceOperationMetadataArgs>? = null, parameters: Output<String>? = null, paymentType: Output<String>? = null, resourceGroupId: Output<String>? = null, serviceId: Output<String>? = null, serviceInstanceName: Output<String>? = null, serviceVersion: Output<String>? = null, specificationName: Output<String>? = null, tags: Output<Map<String, Any>>? = null, templateName: Output<String>? = null)

Functions

Link copied to clipboard
open override fun toJava(): NestServiceInstanceArgs

Properties

Link copied to clipboard

The order information of cloud market. See the following Block commodity.

Link copied to clipboard
val enableInstanceOps: Output<Boolean>? = null

Whether the service instance has the O&M function. Default value: false. Valid values:

Link copied to clipboard
val enableUserPrometheus: Output<Boolean>? = null

Whether Prometheus monitoring is enabled. Default value: false. Valid values:

Link copied to clipboard

The configuration of O&M. See the following Block operation_metadata.

Link copied to clipboard
val parameters: Output<String>? = null

The parameters entered by the deployment service instance.

Link copied to clipboard
val paymentType: Output<String>? = null

The type of payment. Valid values: Permanent, Subscription, PayAsYouGo, CustomFixTime.

Link copied to clipboard
val resourceGroupId: Output<String>? = null

The ID of the resource group.

Link copied to clipboard
val serviceId: Output<String>? = null

The ID of the service.

Link copied to clipboard
val serviceInstanceName: Output<String>? = null

The name of the Service Instance.

Link copied to clipboard
val serviceVersion: Output<String>? = null

The version of the service.

Link copied to clipboard
val specificationName: Output<String>? = null

The name of the specification.

Link copied to clipboard
val tags: Output<Map<String, Any>>? = null

A mapping of tags to assign to the resource.

Link copied to clipboard
val templateName: Output<String>? = null

The name of the template.