1. Packages
  2. Hpegl Provider
  3. API Docs
  4. MetalProject
hpegl 0.4.18 published on Friday, Apr 18, 2025 by hpe

hpegl.MetalProject

Explore with Pulumi AI

hpegl logo
hpegl 0.4.18 published on Friday, Apr 18, 2025 by hpe

    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)
            .instanceTypes(Map.of("string", 0))
            .privateNetworks(0)
            .volumeCapacity(0)
            .volumes(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 MetalProjectLimits
    Resource limits applied to this team.
    Profile MetalProjectProfile
    Team profile.
    MetalProjectId string
    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
    VolumeReplicationEnabled bool
    Volume replication is enabled for the project if set.
    Limits MetalProjectLimitsArgs
    Resource limits applied to this team.
    Profile MetalProjectProfileArgs
    Team profile.
    MetalProjectId string
    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
    VolumeReplicationEnabled bool
    Volume replication is enabled for the project if set.
    limits MetalProjectLimits
    Resource limits applied to this team.
    profile MetalProjectProfile
    Team profile.
    metalProjectId String
    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
    volumeReplicationEnabled Boolean
    Volume replication is enabled for the project if set.
    limits MetalProjectLimits
    Resource limits applied to this team.
    profile MetalProjectProfile
    Team profile.
    metalProjectId string
    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
    volumeReplicationEnabled boolean
    Volume replication is enabled for the project if set.
    limits MetalProjectLimitsArgs
    Resource limits applied to this team.
    profile MetalProjectProfileArgs
    Team profile.
    metal_project_id str
    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_enabled bool
    Volume replication is enabled for the project if set.
    limits Property Map
    Resource limits applied to this team.
    profile Property Map
    Team profile.
    metalProjectId String
    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
    volumeReplicationEnabled Boolean
    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) -> MetalProject
    func 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.
    The following state arguments are supported:
    Limits MetalProjectLimits
    Resource limits applied to this team.
    MetalProjectId string
    The ID of this resource.
    Name string
    A friendly name of the project.
    PermittedImages List<string>
    List of permitted OS service images
    Profile MetalProjectProfile
    Team profile.
    Sites List<string>
    List of Permitted Site IDs
    VolumeReplicationEnabled bool
    Volume replication is enabled for the project if set.
    Limits MetalProjectLimitsArgs
    Resource limits applied to this team.
    MetalProjectId string
    The ID of this resource.
    Name string
    A friendly name of the project.
    PermittedImages []string
    List of permitted OS service images
    Profile MetalProjectProfileArgs
    Team profile.
    Sites []string
    List of Permitted Site IDs
    VolumeReplicationEnabled bool
    Volume replication is enabled for the project if set.
    limits MetalProjectLimits
    Resource limits applied to this team.
    metalProjectId String
    The ID of this resource.
    name String
    A friendly name of the project.
    permittedImages List<String>
    List of permitted OS service images
    profile MetalProjectProfile
    Team profile.
    sites List<String>
    List of Permitted Site IDs
    volumeReplicationEnabled Boolean
    Volume replication is enabled for the project if set.
    limits MetalProjectLimits
    Resource limits applied to this team.
    metalProjectId string
    The ID of this resource.
    name string
    A friendly name of the project.
    permittedImages string[]
    List of permitted OS service images
    profile MetalProjectProfile
    Team profile.
    sites string[]
    List of Permitted Site IDs
    volumeReplicationEnabled boolean
    Volume replication is enabled for the project if set.
    limits MetalProjectLimitsArgs
    Resource limits applied to this team.
    metal_project_id str
    The ID of this resource.
    name str
    A friendly name of the project.
    permitted_images Sequence[str]
    List of permitted OS service images
    profile MetalProjectProfileArgs
    Team profile.
    sites Sequence[str]
    List of Permitted Site IDs
    volume_replication_enabled bool
    Volume replication is enabled for the project if set.
    limits Property Map
    Resource limits applied to this team.
    metalProjectId String
    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
    volumeReplicationEnabled Boolean
    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.
    PhoneNumberVerified bool
    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.
    PhoneNumberVerified bool
    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.
    phoneNumberVerified Boolean
    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.
    phoneNumberVerified boolean
    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_verified bool
    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.
    phoneNumberVerified Boolean
    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 hpegl Terraform Provider.
    hpegl logo
    hpegl 0.4.18 published on Friday, Apr 18, 2025 by hpe