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)
.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
Metal
Project Limits - Resource limits applied to this team.
- Profile
Metal
Project Profile - Team profile.
- Metal
Project stringId - The ID of this resource.
- Name string
- A friendly name of the project.
- Permitted
Images List<string> - List of permitted OS service images
- Sites List<string>
- List of Permitted Site IDs
- Volume
Replication boolEnabled - Volume replication is enabled for the project if set.
- Limits
Metal
Project Limits Args - Resource limits applied to this team.
- Profile
Metal
Project Profile Args - Team profile.
- Metal
Project stringId - The ID of this resource.
- Name string
- A friendly name of the project.
- Permitted
Images []string - List of permitted OS service images
- Sites []string
- List of Permitted Site IDs
- Volume
Replication boolEnabled - Volume replication is enabled for the project if set.
- limits
Metal
Project Limits - Resource limits applied to this team.
- profile
Metal
Project Profile - Team profile.
- metal
Project StringId - The ID of this resource.
- name String
- A friendly name of the project.
- permitted
Images List<String> - List of permitted OS service images
- sites List<String>
- List of Permitted Site IDs
- volume
Replication BooleanEnabled - Volume replication is enabled for the project if set.
- limits
Metal
Project Limits - Resource limits applied to this team.
- profile
Metal
Project Profile - Team profile.
- metal
Project stringId - The ID of this resource.
- name string
- A friendly name of the project.
- permitted
Images string[] - List of permitted OS service images
- sites string[]
- List of Permitted Site IDs
- volume
Replication booleanEnabled - Volume replication is enabled for the project if set.
- limits
Metal
Project Limits Args - Resource limits applied to this team.
- profile
Metal
Project 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.
- metal
Project StringId - The ID of this resource.
- name String
- A friendly name of the project.
- permitted
Images List<String> - List of permitted OS service images
- sites List<String>
- List of Permitted Site IDs
- volume
Replication 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) -> 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.
- Limits
Metal
Project Limits - Resource limits applied to this team.
- Metal
Project stringId - The ID of this resource.
- Name string
- A friendly name of the project.
- Permitted
Images List<string> - List of permitted OS service images
- Profile
Metal
Project Profile - Team profile.
- Sites List<string>
- List of Permitted Site IDs
- Volume
Replication boolEnabled - Volume replication is enabled for the project if set.
- Limits
Metal
Project Limits Args - Resource limits applied to this team.
- Metal
Project stringId - The ID of this resource.
- Name string
- A friendly name of the project.
- Permitted
Images []string - List of permitted OS service images
- Profile
Metal
Project Profile Args - Team profile.
- Sites []string
- List of Permitted Site IDs
- Volume
Replication boolEnabled - Volume replication is enabled for the project if set.
- limits
Metal
Project Limits - Resource limits applied to this team.
- metal
Project StringId - The ID of this resource.
- name String
- A friendly name of the project.
- permitted
Images List<String> - List of permitted OS service images
- profile
Metal
Project Profile - Team profile.
- sites List<String>
- List of Permitted Site IDs
- volume
Replication BooleanEnabled - Volume replication is enabled for the project if set.
- limits
Metal
Project Limits - Resource limits applied to this team.
- metal
Project stringId - The ID of this resource.
- name string
- A friendly name of the project.
- permitted
Images string[] - List of permitted OS service images
- profile
Metal
Project Profile - Team profile.
- sites string[]
- List of Permitted Site IDs
- volume
Replication booleanEnabled - Volume replication is enabled for the project if set.
- limits
Metal
Project 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
Metal
Project 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.
- metal
Project StringId - The ID of this resource.
- name String
- A friendly name of the project.
- permitted
Images List<String> - List of permitted OS service images
- profile Property Map
- Team profile.
- sites List<String>
- List of Permitted Site IDs
- volume
Replication BooleanEnabled - Volume replication is enabled for the project if set.
Supporting Types
MetalProjectLimits, MetalProjectLimitsArgs
- Hosts double
- Maximum number of host allowed in the team.
- Instance
Types Dictionary<string, double> - Map of instance type ID to maximum number of hosts that can be created with that instance type
- Private
Networks double - Maximum number of private networks allowed in the team.
- Volume
Capacity 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.
- Instance
Types map[string]float64 - Map of instance type ID to maximum number of hosts that can be created with that instance type
- Private
Networks float64 - Maximum number of private networks allowed in the team.
- Volume
Capacity 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.
- instance
Types Map<String,Double> - Map of instance type ID to maximum number of hosts that can be created with that instance type
- private
Networks Double - Maximum number of private networks allowed in the team.
- volume
Capacity 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.
- instance
Types {[key: string]: number} - Map of instance type ID to maximum number of hosts that can be created with that instance type
- private
Networks number - Maximum number of private networks allowed in the team.
- volume
Capacity 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.
- instance
Types Map<Number> - Map of instance type ID to maximum number of hosts that can be created with that instance type
- private
Networks Number - Maximum number of private networks allowed in the team.
- volume
Capacity 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.
- Project
Name string - A friendly name of the team.
- Address string
- The company address with the team.
- Company string
- The company associated with the team.
- Email
Verified bool - Email address has been validated.
- Phone
Number string - Phine number.
- Phone
Number boolVerified - Phine number has been validated.
- Project
Description string - A friendly description of the team.
- Email string
- Email address.
- Project
Name string - A friendly name of the team.
- Address string
- The company address with the team.
- Company string
- The company associated with the team.
- Email
Verified bool - Email address has been validated.
- Phone
Number string - Phine number.
- Phone
Number boolVerified - Phine number has been validated.
- Project
Description string - A friendly description of the team.
- email String
- Email address.
- project
Name String - A friendly name of the team.
- address String
- The company address with the team.
- company String
- The company associated with the team.
- email
Verified Boolean - Email address has been validated.
- phone
Number String - Phine number.
- phone
Number BooleanVerified - Phine number has been validated.
- project
Description String - A friendly description of the team.
- email string
- Email address.
- project
Name string - A friendly name of the team.
- address string
- The company address with the team.
- company string
- The company associated with the team.
- email
Verified boolean - Email address has been validated.
- phone
Number string - Phine number.
- phone
Number booleanVerified - Phine number has been validated.
- project
Description 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.
- project
Name String - A friendly name of the team.
- address String
- The company address with the team.
- company String
- The company associated with the team.
- email
Verified Boolean - Email address has been validated.
- phone
Number String - Phine number.
- phone
Number BooleanVerified - Phine number has been validated.
- project
Description 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.