hpegl.MetalProject
Explore with Pulumi AI
Provides Project resource. This allows creation, deletion and update of Metal projects.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as hpegl from "@pulumi/hpegl";
const project = new hpegl.MetalProject("project", {
    limits: {
        hosts: 5,
        privateNetworks: 20,
        volumeCapacity: 300,
        volumes: 10,
    },
    profile: {
        address: "Area51",
        company: "ACME",
        email: "acme@intergalactic.universe",
        phoneNumber: "+112 234 1245 3245",
        projectDescription: "Primitive Life",
        projectName: "Umbrella Corporation",
    },
    sites: ["22473578-e18b-4753-a2e6-ba405b8abc32"],
});
import pulumi
import pulumi_hpegl as hpegl
project = hpegl.MetalProject("project",
    limits={
        "hosts": 5,
        "private_networks": 20,
        "volume_capacity": 300,
        "volumes": 10,
    },
    profile={
        "address": "Area51",
        "company": "ACME",
        "email": "acme@intergalactic.universe",
        "phone_number": "+112 234 1245 3245",
        "project_description": "Primitive Life",
        "project_name": "Umbrella Corporation",
    },
    sites=["22473578-e18b-4753-a2e6-ba405b8abc32"])
package main
import (
	"github.com/pulumi/pulumi-terraform-provider/sdks/go/hpegl/hpegl"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := hpegl.NewMetalProject(ctx, "project", &hpegl.MetalProjectArgs{
			Limits: &hpegl.MetalProjectLimitsArgs{
				Hosts:           pulumi.Float64(5),
				PrivateNetworks: pulumi.Float64(20),
				VolumeCapacity:  pulumi.Float64(300),
				Volumes:         pulumi.Float64(10),
			},
			Profile: &hpegl.MetalProjectProfileArgs{
				Address:            pulumi.String("Area51"),
				Company:            pulumi.String("ACME"),
				Email:              pulumi.String("acme@intergalactic.universe"),
				PhoneNumber:        pulumi.String("+112 234 1245 3245"),
				ProjectDescription: pulumi.String("Primitive Life"),
				ProjectName:        pulumi.String("Umbrella Corporation"),
			},
			Sites: pulumi.StringArray{
				pulumi.String("22473578-e18b-4753-a2e6-ba405b8abc32"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Hpegl = Pulumi.Hpegl;
return await Deployment.RunAsync(() => 
{
    var project = new Hpegl.MetalProject("project", new()
    {
        Limits = new Hpegl.Inputs.MetalProjectLimitsArgs
        {
            Hosts = 5,
            PrivateNetworks = 20,
            VolumeCapacity = 300,
            Volumes = 10,
        },
        Profile = new Hpegl.Inputs.MetalProjectProfileArgs
        {
            Address = "Area51",
            Company = "ACME",
            Email = "acme@intergalactic.universe",
            PhoneNumber = "+112 234 1245 3245",
            ProjectDescription = "Primitive Life",
            ProjectName = "Umbrella Corporation",
        },
        Sites = new[]
        {
            "22473578-e18b-4753-a2e6-ba405b8abc32",
        },
    });
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.hpegl.MetalProject;
import com.pulumi.hpegl.MetalProjectArgs;
import com.pulumi.hpegl.inputs.MetalProjectLimitsArgs;
import com.pulumi.hpegl.inputs.MetalProjectProfileArgs;
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) {
        var project = new MetalProject("project", MetalProjectArgs.builder()
            .limits(MetalProjectLimitsArgs.builder()
                .hosts(5)
                .privateNetworks(20)
                .volumeCapacity(300)
                .volumes(10)
                .build())
            .profile(MetalProjectProfileArgs.builder()
                .address("Area51")
                .company("ACME")
                .email("acme@intergalactic.universe")
                .phoneNumber("+112 234 1245 3245")
                .projectDescription("Primitive Life")
                .projectName("Umbrella Corporation")
                .build())
            .sites("22473578-e18b-4753-a2e6-ba405b8abc32")
            .build());
    }
}
resources:
  project:
    type: hpegl:MetalProject
    properties:
      limits:
        hosts: 5
        privateNetworks: 20
        volumeCapacity: 300
        volumes: 10
      profile:
        address: Area51
        company: ACME
        email: acme@intergalactic.universe
        phoneNumber: +112 234 1245 3245
        projectDescription: Primitive Life
        projectName: Umbrella Corporation
      sites:
        - 22473578-e18b-4753-a2e6-ba405b8abc32
Create MetalProject Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new MetalProject(name: string, args: MetalProjectArgs, opts?: CustomResourceOptions);@overload
def MetalProject(resource_name: str,
                 args: MetalProjectArgs,
                 opts: Optional[ResourceOptions] = None)
@overload
def MetalProject(resource_name: str,
                 opts: Optional[ResourceOptions] = None,
                 limits: Optional[MetalProjectLimitsArgs] = None,
                 profile: Optional[MetalProjectProfileArgs] = None,
                 metal_project_id: Optional[str] = None,
                 name: Optional[str] = None,
                 permitted_images: Optional[Sequence[str]] = None,
                 sites: Optional[Sequence[str]] = None,
                 volume_replication_enabled: Optional[bool] = None)func NewMetalProject(ctx *Context, name string, args MetalProjectArgs, opts ...ResourceOption) (*MetalProject, error)public MetalProject(string name, MetalProjectArgs args, CustomResourceOptions? opts = null)
public MetalProject(String name, MetalProjectArgs args)
public MetalProject(String name, MetalProjectArgs args, CustomResourceOptions options)
type: hpegl:MetalProject
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.
Parameters
- name string
- The unique name of the resource.
- args MetalProjectArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- resource_name str
- The unique name of the resource.
- args MetalProjectArgs
- The arguments to resource properties.
- opts ResourceOptions
- Bag of options to control resource's behavior.
- ctx Context
- Context object for the current deployment.
- name string
- The unique name of the resource.
- args MetalProjectArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args MetalProjectArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args MetalProjectArgs
- The arguments to resource properties.
- options CustomResourceOptions
- Bag of options to control resource's behavior.
Constructor example
The following reference example uses placeholder values for all input properties.
var metalProjectResource = new Hpegl.MetalProject("metalProjectResource", new()
{
    Limits = new Hpegl.Inputs.MetalProjectLimitsArgs
    {
        Hosts = 0,
        InstanceTypes = 
        {
            { "string", 0 },
        },
        PrivateNetworks = 0,
        VolumeCapacity = 0,
        Volumes = 0,
    },
    Profile = new Hpegl.Inputs.MetalProjectProfileArgs
    {
        Email = "string",
        ProjectName = "string",
        Address = "string",
        Company = "string",
        EmailVerified = false,
        PhoneNumber = "string",
        PhoneNumberVerified = false,
        ProjectDescription = "string",
    },
    MetalProjectId = "string",
    Name = "string",
    PermittedImages = new[]
    {
        "string",
    },
    Sites = new[]
    {
        "string",
    },
    VolumeReplicationEnabled = false,
});
example, err := hpegl.NewMetalProject(ctx, "metalProjectResource", &hpegl.MetalProjectArgs{
	Limits: &hpegl.MetalProjectLimitsArgs{
		Hosts: pulumi.Float64(0),
		InstanceTypes: pulumi.Float64Map{
			"string": pulumi.Float64(0),
		},
		PrivateNetworks: pulumi.Float64(0),
		VolumeCapacity:  pulumi.Float64(0),
		Volumes:         pulumi.Float64(0),
	},
	Profile: &hpegl.MetalProjectProfileArgs{
		Email:               pulumi.String("string"),
		ProjectName:         pulumi.String("string"),
		Address:             pulumi.String("string"),
		Company:             pulumi.String("string"),
		EmailVerified:       pulumi.Bool(false),
		PhoneNumber:         pulumi.String("string"),
		PhoneNumberVerified: pulumi.Bool(false),
		ProjectDescription:  pulumi.String("string"),
	},
	MetalProjectId: pulumi.String("string"),
	Name:           pulumi.String("string"),
	PermittedImages: pulumi.StringArray{
		pulumi.String("string"),
	},
	Sites: pulumi.StringArray{
		pulumi.String("string"),
	},
	VolumeReplicationEnabled: pulumi.Bool(false),
})
var metalProjectResource = new MetalProject("metalProjectResource", MetalProjectArgs.builder()
    .limits(MetalProjectLimitsArgs.builder()
        .hosts(0.0)
        .instanceTypes(Map.of("string", 0.0))
        .privateNetworks(0.0)
        .volumeCapacity(0.0)
        .volumes(0.0)
        .build())
    .profile(MetalProjectProfileArgs.builder()
        .email("string")
        .projectName("string")
        .address("string")
        .company("string")
        .emailVerified(false)
        .phoneNumber("string")
        .phoneNumberVerified(false)
        .projectDescription("string")
        .build())
    .metalProjectId("string")
    .name("string")
    .permittedImages("string")
    .sites("string")
    .volumeReplicationEnabled(false)
    .build());
metal_project_resource = hpegl.MetalProject("metalProjectResource",
    limits={
        "hosts": 0,
        "instance_types": {
            "string": 0,
        },
        "private_networks": 0,
        "volume_capacity": 0,
        "volumes": 0,
    },
    profile={
        "email": "string",
        "project_name": "string",
        "address": "string",
        "company": "string",
        "email_verified": False,
        "phone_number": "string",
        "phone_number_verified": False,
        "project_description": "string",
    },
    metal_project_id="string",
    name="string",
    permitted_images=["string"],
    sites=["string"],
    volume_replication_enabled=False)
const metalProjectResource = new hpegl.MetalProject("metalProjectResource", {
    limits: {
        hosts: 0,
        instanceTypes: {
            string: 0,
        },
        privateNetworks: 0,
        volumeCapacity: 0,
        volumes: 0,
    },
    profile: {
        email: "string",
        projectName: "string",
        address: "string",
        company: "string",
        emailVerified: false,
        phoneNumber: "string",
        phoneNumberVerified: false,
        projectDescription: "string",
    },
    metalProjectId: "string",
    name: "string",
    permittedImages: ["string"],
    sites: ["string"],
    volumeReplicationEnabled: false,
});
type: hpegl:MetalProject
properties:
    limits:
        hosts: 0
        instanceTypes:
            string: 0
        privateNetworks: 0
        volumeCapacity: 0
        volumes: 0
    metalProjectId: string
    name: string
    permittedImages:
        - string
    profile:
        address: string
        company: string
        email: string
        emailVerified: false
        phoneNumber: string
        phoneNumberVerified: false
        projectDescription: string
        projectName: string
    sites:
        - string
    volumeReplicationEnabled: false
MetalProject Resource Properties
To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.
Inputs
In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.
The MetalProject resource accepts the following input properties:
- Limits
MetalProject Limits 
- Resource limits applied to this team.
- Profile
MetalProject Profile 
- Team profile.
- MetalProject stringId 
- The ID of this resource.
- Name string
- A friendly name of the project.
- PermittedImages List<string>
- List of permitted OS service images
- Sites List<string>
- List of Permitted Site IDs
- VolumeReplication boolEnabled 
- Volume replication is enabled for the project if set.
- Limits
MetalProject Limits Args 
- Resource limits applied to this team.
- Profile
MetalProject Profile Args 
- Team profile.
- MetalProject stringId 
- The ID of this resource.
- Name string
- A friendly name of the project.
- PermittedImages []string
- List of permitted OS service images
- Sites []string
- List of Permitted Site IDs
- VolumeReplication boolEnabled 
- Volume replication is enabled for the project if set.
- limits
MetalProject Limits 
- Resource limits applied to this team.
- profile
MetalProject Profile 
- Team profile.
- metalProject StringId 
- The ID of this resource.
- name String
- A friendly name of the project.
- permittedImages List<String>
- List of permitted OS service images
- sites List<String>
- List of Permitted Site IDs
- volumeReplication BooleanEnabled 
- Volume replication is enabled for the project if set.
- limits
MetalProject Limits 
- Resource limits applied to this team.
- profile
MetalProject Profile 
- Team profile.
- metalProject stringId 
- The ID of this resource.
- name string
- A friendly name of the project.
- permittedImages string[]
- List of permitted OS service images
- sites string[]
- List of Permitted Site IDs
- volumeReplication booleanEnabled 
- Volume replication is enabled for the project if set.
- limits
MetalProject Limits Args 
- Resource limits applied to this team.
- profile
MetalProject Profile Args 
- Team profile.
- metal_project_ strid 
- The ID of this resource.
- name str
- A friendly name of the project.
- permitted_images Sequence[str]
- List of permitted OS service images
- sites Sequence[str]
- List of Permitted Site IDs
- volume_replication_ boolenabled 
- Volume replication is enabled for the project if set.
- limits Property Map
- Resource limits applied to this team.
- profile Property Map
- Team profile.
- metalProject StringId 
- The ID of this resource.
- name String
- A friendly name of the project.
- permittedImages List<String>
- List of permitted OS service images
- sites List<String>
- List of Permitted Site IDs
- volumeReplication BooleanEnabled 
- Volume replication is enabled for the project if set.
Outputs
All input properties are implicitly available as output properties. Additionally, the MetalProject resource produces the following output properties:
- Id string
- The provider-assigned unique ID for this managed resource.
- Id string
- The provider-assigned unique ID for this managed resource.
- id String
- The provider-assigned unique ID for this managed resource.
- id string
- The provider-assigned unique ID for this managed resource.
- id str
- The provider-assigned unique ID for this managed resource.
- id String
- The provider-assigned unique ID for this managed resource.
Look up Existing MetalProject Resource
Get an existing MetalProject resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
public static get(name: string, id: Input<ID>, state?: MetalProjectState, opts?: CustomResourceOptions): MetalProject@staticmethod
def get(resource_name: str,
        id: str,
        opts: Optional[ResourceOptions] = None,
        limits: Optional[MetalProjectLimitsArgs] = None,
        metal_project_id: Optional[str] = None,
        name: Optional[str] = None,
        permitted_images: Optional[Sequence[str]] = None,
        profile: Optional[MetalProjectProfileArgs] = None,
        sites: Optional[Sequence[str]] = None,
        volume_replication_enabled: Optional[bool] = None) -> MetalProjectfunc GetMetalProject(ctx *Context, name string, id IDInput, state *MetalProjectState, opts ...ResourceOption) (*MetalProject, error)public static MetalProject Get(string name, Input<string> id, MetalProjectState? state, CustomResourceOptions? opts = null)public static MetalProject get(String name, Output<String> id, MetalProjectState state, CustomResourceOptions options)resources:  _:    type: hpegl:MetalProject    get:      id: ${id}- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- resource_name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- Limits
MetalProject Limits 
- Resource limits applied to this team.
- MetalProject stringId 
- The ID of this resource.
- Name string
- A friendly name of the project.
- PermittedImages List<string>
- List of permitted OS service images
- Profile
MetalProject Profile 
- Team profile.
- Sites List<string>
- List of Permitted Site IDs
- VolumeReplication boolEnabled 
- Volume replication is enabled for the project if set.
- Limits
MetalProject Limits Args 
- Resource limits applied to this team.
- MetalProject stringId 
- The ID of this resource.
- Name string
- A friendly name of the project.
- PermittedImages []string
- List of permitted OS service images
- Profile
MetalProject Profile Args 
- Team profile.
- Sites []string
- List of Permitted Site IDs
- VolumeReplication boolEnabled 
- Volume replication is enabled for the project if set.
- limits
MetalProject Limits 
- Resource limits applied to this team.
- metalProject StringId 
- The ID of this resource.
- name String
- A friendly name of the project.
- permittedImages List<String>
- List of permitted OS service images
- profile
MetalProject Profile 
- Team profile.
- sites List<String>
- List of Permitted Site IDs
- volumeReplication BooleanEnabled 
- Volume replication is enabled for the project if set.
- limits
MetalProject Limits 
- Resource limits applied to this team.
- metalProject stringId 
- The ID of this resource.
- name string
- A friendly name of the project.
- permittedImages string[]
- List of permitted OS service images
- profile
MetalProject Profile 
- Team profile.
- sites string[]
- List of Permitted Site IDs
- volumeReplication booleanEnabled 
- Volume replication is enabled for the project if set.
- limits
MetalProject Limits Args 
- Resource limits applied to this team.
- metal_project_ strid 
- The ID of this resource.
- name str
- A friendly name of the project.
- permitted_images Sequence[str]
- List of permitted OS service images
- profile
MetalProject Profile Args 
- Team profile.
- sites Sequence[str]
- List of Permitted Site IDs
- volume_replication_ boolenabled 
- Volume replication is enabled for the project if set.
- limits Property Map
- Resource limits applied to this team.
- metalProject StringId 
- The ID of this resource.
- name String
- A friendly name of the project.
- permittedImages List<String>
- List of permitted OS service images
- profile Property Map
- Team profile.
- sites List<String>
- List of Permitted Site IDs
- volumeReplication BooleanEnabled 
- Volume replication is enabled for the project if set.
Supporting Types
MetalProjectLimits, MetalProjectLimitsArgs      
- Hosts double
- Maximum number of host allowed in the team.
- InstanceTypes Dictionary<string, double>
- Map of instance type ID to maximum number of hosts that can be created with that instance type
- PrivateNetworks double
- Maximum number of private networks allowed in the team.
- VolumeCapacity double
- Total allowable volume capacity (GiB) allowed in the team.
- Volumes double
- Maximum number of volumes allowed in the team.
- Hosts float64
- Maximum number of host allowed in the team.
- InstanceTypes map[string]float64
- Map of instance type ID to maximum number of hosts that can be created with that instance type
- PrivateNetworks float64
- Maximum number of private networks allowed in the team.
- VolumeCapacity float64
- Total allowable volume capacity (GiB) allowed in the team.
- Volumes float64
- Maximum number of volumes allowed in the team.
- hosts Double
- Maximum number of host allowed in the team.
- instanceTypes Map<String,Double>
- Map of instance type ID to maximum number of hosts that can be created with that instance type
- privateNetworks Double
- Maximum number of private networks allowed in the team.
- volumeCapacity Double
- Total allowable volume capacity (GiB) allowed in the team.
- volumes Double
- Maximum number of volumes allowed in the team.
- hosts number
- Maximum number of host allowed in the team.
- instanceTypes {[key: string]: number}
- Map of instance type ID to maximum number of hosts that can be created with that instance type
- privateNetworks number
- Maximum number of private networks allowed in the team.
- volumeCapacity number
- Total allowable volume capacity (GiB) allowed in the team.
- volumes number
- Maximum number of volumes allowed in the team.
- hosts float
- Maximum number of host allowed in the team.
- instance_types Mapping[str, float]
- Map of instance type ID to maximum number of hosts that can be created with that instance type
- private_networks float
- Maximum number of private networks allowed in the team.
- volume_capacity float
- Total allowable volume capacity (GiB) allowed in the team.
- volumes float
- Maximum number of volumes allowed in the team.
- hosts Number
- Maximum number of host allowed in the team.
- instanceTypes Map<Number>
- Map of instance type ID to maximum number of hosts that can be created with that instance type
- privateNetworks Number
- Maximum number of private networks allowed in the team.
- volumeCapacity Number
- Total allowable volume capacity (GiB) allowed in the team.
- volumes Number
- Maximum number of volumes allowed in the team.
MetalProjectProfile, MetalProjectProfileArgs      
- Email string
- Email address.
- ProjectName string
- A friendly name of the team.
- Address string
- The company address with the team.
- Company string
- The company associated with the team.
- EmailVerified bool
- Email address has been validated.
- PhoneNumber string
- Phine number.
- PhoneNumber boolVerified 
- Phine number has been validated.
- ProjectDescription string
- A friendly description of the team.
- Email string
- Email address.
- ProjectName string
- A friendly name of the team.
- Address string
- The company address with the team.
- Company string
- The company associated with the team.
- EmailVerified bool
- Email address has been validated.
- PhoneNumber string
- Phine number.
- PhoneNumber boolVerified 
- Phine number has been validated.
- ProjectDescription string
- A friendly description of the team.
- email String
- Email address.
- projectName String
- A friendly name of the team.
- address String
- The company address with the team.
- company String
- The company associated with the team.
- emailVerified Boolean
- Email address has been validated.
- phoneNumber String
- Phine number.
- phoneNumber BooleanVerified 
- Phine number has been validated.
- projectDescription String
- A friendly description of the team.
- email string
- Email address.
- projectName string
- A friendly name of the team.
- address string
- The company address with the team.
- company string
- The company associated with the team.
- emailVerified boolean
- Email address has been validated.
- phoneNumber string
- Phine number.
- phoneNumber booleanVerified 
- Phine number has been validated.
- projectDescription string
- A friendly description of the team.
- email str
- Email address.
- project_name str
- A friendly name of the team.
- address str
- The company address with the team.
- company str
- The company associated with the team.
- email_verified bool
- Email address has been validated.
- phone_number str
- Phine number.
- phone_number_ boolverified 
- Phine number has been validated.
- project_description str
- A friendly description of the team.
- email String
- Email address.
- projectName String
- A friendly name of the team.
- address String
- The company address with the team.
- company String
- The company associated with the team.
- emailVerified Boolean
- Email address has been validated.
- phoneNumber String
- Phine number.
- phoneNumber BooleanVerified 
- Phine number has been validated.
- projectDescription String
- A friendly description of the team.
Package Details
- Repository
- hpegl hpe/terraform-provider-hpegl
- License
- Notes
- This Pulumi package is based on the hpeglTerraform Provider.