import * as pulumi from "@pulumi/pulumi"; import { input as inputs, output as outputs } from "../types"; /** * Creates a VMware vRealize Automation machine resource. * * ## Example Usage * ### S * * The following example shows how to create a machine resource. * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as vra from "@pulumiverse/vra"; * * const _this = new vra.machine.Machine("this", { * description: "terrafrom test machine", * projectId: data.vra_project["this"].id, * image: "ubuntu2", * flavor: "medium", * bootConfig: { * content: `#cloud-config * users: * - default * - name: myuser * sudo: ['ALL=(ALL) NOPASSWD:ALL'] * groups: [wheel, sudo, admin] * shell: '/bin/bash' * ssh-authorized-keys: | * ssh-rsa your-ssh-rsa: * - sudo sed -e 's/.*PasswordAuthentication yes.*/PasswordAuthentication no/' -i /etc/ssh/sshd_config * - sudo service sshd restart * `, * }, * nics: [{ * networkId: data.vra_network["this"].id, * }], * constraints: [{ * mandatory: true, * expression: "AWS", * }], * tags: [{ * key: "foo", * value: "bar", * }], * disks: [ * { * blockDeviceId: vra_block_device.disk1.id, * }, * { * blockDeviceId: vra_block_device.disk2.id, * }, * ], * }); * ``` * A machine resource supports the following resource: */ export declare class Machine extends pulumi.CustomResource { /** * Get an existing Machine resource's state with the given name, ID, and optional extra * properties used to qualify the lookup. * * @param name The _unique_ name of the resulting resource. * @param id The _unique_ provider ID of the resource to lookup. * @param state Any extra arguments used during the lookup. * @param opts Optional settings to control the behavior of the CustomResource. */ static get(name: string, id: pulumi.Input, state?: MachineState, opts?: pulumi.CustomResourceOptions): Machine; /** * Returns true if the given object is an instance of Machine. This is designed to work even * when multiple copies of the Pulumi SDK have been loaded into the same process. */ static isInstance(obj: any): obj is Machine; /** * Primary address allocated or in use by this machine. The actual type of the address depends on the adapter type. Typically it is either the public or the external IP address. */ readonly address: pulumi.Output; /** * Machine boot config that will be passed to the instance. Used to perform common automated configuration tasks and even run scripts after instance starts. */ readonly bootConfig: pulumi.Output; /** * Constraints used to drive placement policies for the virtual machine produced from the specification. Constraint expressions are matched against tags on existing placement targets. * Example:[{"mandatory" : "true", "expression": "environment":"prod"}, {"mandatory" : "false", "expression": "pci"}] */ readonly constraints: pulumi.Output; /** * Date when the entity was created. Date and time format is ISO 8601 and UTC. */ readonly createdAt: pulumi.Output; /** * Additional properties that may be used to extend the base type. */ readonly customProperties: pulumi.Output<{ [key: string]: any; }>; /** * Describes machine within the scope of your organization and is not propagated to the cloud. */ readonly deploymentId: pulumi.Output; /** * Human-friendly description. */ readonly description: pulumi.Output; /** * Specification for attaching/detaching disks to a machine. */ readonly disks: pulumi.Output; /** * List of all disks attached to a machine including boot disk, and additional block devices attached using the disks attribute. */ readonly disksLists: pulumi.Output; /** * External entity ID on the provider side. */ readonly externalId: pulumi.Output; /** * External regionId of the resource. */ readonly externalRegionId: pulumi.Output; /** * External zoneId of the resource. */ readonly externalZoneId: pulumi.Output; /** * Flavor of machine instance. */ readonly flavor: pulumi.Output; /** * Type of image used for this machine. */ readonly image: pulumi.Output; /** * Constraints that are used to drive placement policies for the image disk. Constraint expressions are matched against tags on existing placement targets. example:[{"mandatory" : "true", "expression": "environment:prod"}, {"mandatory" : "false", "expression": "pci"}]. It is nested argument with the following properties. */ readonly imageDiskConstraints: pulumi.Output; /** * Direct image reference used for this machine (name, path, location, uri, etc.). Valid if no image property is provided */ readonly imageRef: pulumi.Output; /** * HATEOAS of the entity */ readonly links: pulumi.Output; /** * Human-friendly name used as an identifier in APIs that support this option. */ readonly name: pulumi.Output; /** * Set of network interface controller specifications for this machine. If not specified, then a default network connection will be created. */ readonly nics: pulumi.Output; /** * ID of the organization this entity belongs to. */ readonly organizationId: pulumi.Output; /** * Email of entity owner. */ readonly owner: pulumi.Output; /** * Power state of machine. */ readonly powerState: pulumi.Output; /** * ID of project that resource belongs to. */ readonly projectId: pulumi.Output; /** * Set of tag keys and optional values that should be set on any resource that is produced from this specification. example:[ { "key" : "ownedBy", "value": "Rainpole" } ]. It is nested argument with the following properties. */ readonly tags: pulumi.Output; readonly updatedAt: pulumi.Output; /** * Create a Machine resource with the given unique name, arguments, and options. * * @param name The _unique_ name of the resource. * @param args The arguments to use to populate this resource's properties. * @param opts A bag of options that control this resource's behavior. */ constructor(name: string, args: MachineArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering Machine resources. */ export interface MachineState { /** * Primary address allocated or in use by this machine. The actual type of the address depends on the adapter type. Typically it is either the public or the external IP address. */ address?: pulumi.Input; /** * Machine boot config that will be passed to the instance. Used to perform common automated configuration tasks and even run scripts after instance starts. */ bootConfig?: pulumi.Input; /** * Constraints used to drive placement policies for the virtual machine produced from the specification. Constraint expressions are matched against tags on existing placement targets. * Example:[{"mandatory" : "true", "expression": "environment":"prod"}, {"mandatory" : "false", "expression": "pci"}] */ constraints?: pulumi.Input[]>; /** * Date when the entity was created. Date and time format is ISO 8601 and UTC. */ createdAt?: pulumi.Input; /** * Additional properties that may be used to extend the base type. */ customProperties?: pulumi.Input<{ [key: string]: any; }>; /** * Describes machine within the scope of your organization and is not propagated to the cloud. */ deploymentId?: pulumi.Input; /** * Human-friendly description. */ description?: pulumi.Input; /** * Specification for attaching/detaching disks to a machine. */ disks?: pulumi.Input[]>; /** * List of all disks attached to a machine including boot disk, and additional block devices attached using the disks attribute. */ disksLists?: pulumi.Input[]>; /** * External entity ID on the provider side. */ externalId?: pulumi.Input; /** * External regionId of the resource. */ externalRegionId?: pulumi.Input; /** * External zoneId of the resource. */ externalZoneId?: pulumi.Input; /** * Flavor of machine instance. */ flavor?: pulumi.Input; /** * Type of image used for this machine. */ image?: pulumi.Input; /** * Constraints that are used to drive placement policies for the image disk. Constraint expressions are matched against tags on existing placement targets. example:[{"mandatory" : "true", "expression": "environment:prod"}, {"mandatory" : "false", "expression": "pci"}]. It is nested argument with the following properties. */ imageDiskConstraints?: pulumi.Input[]>; /** * Direct image reference used for this machine (name, path, location, uri, etc.). Valid if no image property is provided */ imageRef?: pulumi.Input; /** * HATEOAS of the entity */ links?: pulumi.Input[]>; /** * Human-friendly name used as an identifier in APIs that support this option. */ name?: pulumi.Input; /** * Set of network interface controller specifications for this machine. If not specified, then a default network connection will be created. */ nics?: pulumi.Input[]>; /** * ID of the organization this entity belongs to. */ organizationId?: pulumi.Input; /** * Email of entity owner. */ owner?: pulumi.Input; /** * Power state of machine. */ powerState?: pulumi.Input; /** * ID of project that resource belongs to. */ projectId?: pulumi.Input; /** * Set of tag keys and optional values that should be set on any resource that is produced from this specification. example:[ { "key" : "ownedBy", "value": "Rainpole" } ]. It is nested argument with the following properties. */ tags?: pulumi.Input[]>; updatedAt?: pulumi.Input; } /** * The set of arguments for constructing a Machine resource. */ export interface MachineArgs { /** * Machine boot config that will be passed to the instance. Used to perform common automated configuration tasks and even run scripts after instance starts. */ bootConfig?: pulumi.Input; /** * Constraints used to drive placement policies for the virtual machine produced from the specification. Constraint expressions are matched against tags on existing placement targets. * Example:[{"mandatory" : "true", "expression": "environment":"prod"}, {"mandatory" : "false", "expression": "pci"}] */ constraints?: pulumi.Input[]>; /** * Additional properties that may be used to extend the base type. */ customProperties?: pulumi.Input<{ [key: string]: any; }>; /** * Describes machine within the scope of your organization and is not propagated to the cloud. */ deploymentId?: pulumi.Input; /** * Human-friendly description. */ description?: pulumi.Input; /** * Specification for attaching/detaching disks to a machine. */ disks?: pulumi.Input[]>; /** * Flavor of machine instance. */ flavor: pulumi.Input; /** * Type of image used for this machine. */ image?: pulumi.Input; /** * Constraints that are used to drive placement policies for the image disk. Constraint expressions are matched against tags on existing placement targets. example:[{"mandatory" : "true", "expression": "environment:prod"}, {"mandatory" : "false", "expression": "pci"}]. It is nested argument with the following properties. */ imageDiskConstraints?: pulumi.Input[]>; /** * Direct image reference used for this machine (name, path, location, uri, etc.). Valid if no image property is provided */ imageRef?: pulumi.Input; /** * Human-friendly name used as an identifier in APIs that support this option. */ name?: pulumi.Input; /** * Set of network interface controller specifications for this machine. If not specified, then a default network connection will be created. */ nics?: pulumi.Input[]>; /** * ID of project that resource belongs to. */ projectId: pulumi.Input; /** * Set of tag keys and optional values that should be set on any resource that is produced from this specification. example:[ { "key" : "ownedBy", "value": "Rainpole" } ]. It is nested argument with the following properties. */ tags?: pulumi.Input[]>; }