castai.OrganizationGroup
Explore with Pulumi AI
CAST AI organization group resource to manage organization groups
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as castai from "@pulumi/castai";
const test = castai.getOrganization({
name: "My test organization name",
});
const firstGroup = new castai.OrganizationGroup("firstGroup", {
organizationId: test.then(test => test.id),
description: "A description of the first group.",
members: [{
members: [
{
kind: "user",
id: "21c133e2-a899-4f51-b297-830bc62e51d6",
email: "first-user@cast.ai",
},
{
kind: "user",
id: "21c133e2-a899-4f51-b297-830bc62e51d7",
email: "second-user@cast.ai",
},
{
kind: "service_account",
id: "21c133e2-a899-4f51-b297-830bc62e51d9",
email: "service_account-2@cast.ai",
},
],
}],
});
const secondGroup = new castai.OrganizationGroup("secondGroup", {
organizationId: test.then(test => test.id),
description: "A description of the second group.",
members: [{
members: [{
kind: "user",
id: "21c133e2-a899-4f51-b297-830bc62e51d6",
email: "first-user@cast.ai",
}],
}],
});
import pulumi
import pulumi_castai as castai
test = castai.get_organization(name="My test organization name")
first_group = castai.OrganizationGroup("firstGroup",
organization_id=test.id,
description="A description of the first group.",
members=[{
"members": [
{
"kind": "user",
"id": "21c133e2-a899-4f51-b297-830bc62e51d6",
"email": "first-user@cast.ai",
},
{
"kind": "user",
"id": "21c133e2-a899-4f51-b297-830bc62e51d7",
"email": "second-user@cast.ai",
},
{
"kind": "service_account",
"id": "21c133e2-a899-4f51-b297-830bc62e51d9",
"email": "service_account-2@cast.ai",
},
],
}])
second_group = castai.OrganizationGroup("secondGroup",
organization_id=test.id,
description="A description of the second group.",
members=[{
"members": [{
"kind": "user",
"id": "21c133e2-a899-4f51-b297-830bc62e51d6",
"email": "first-user@cast.ai",
}],
}])
package main
import (
"github.com/pulumi/pulumi-terraform-provider/sdks/go/castai/v7/castai"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
test, err := castai.GetOrganization(ctx, &castai.GetOrganizationArgs{
Name: "My test organization name",
}, nil)
if err != nil {
return err
}
_, err = castai.NewOrganizationGroup(ctx, "firstGroup", &castai.OrganizationGroupArgs{
OrganizationId: pulumi.String(test.Id),
Description: pulumi.String("A description of the first group."),
Members: castai.OrganizationGroupMemberArray{
&castai.OrganizationGroupMemberArgs{
Members: castai.OrganizationGroupMemberMemberArray{
&castai.OrganizationGroupMemberMemberArgs{
Kind: pulumi.String("user"),
Id: pulumi.String("21c133e2-a899-4f51-b297-830bc62e51d6"),
Email: pulumi.String("first-user@cast.ai"),
},
&castai.OrganizationGroupMemberMemberArgs{
Kind: pulumi.String("user"),
Id: pulumi.String("21c133e2-a899-4f51-b297-830bc62e51d7"),
Email: pulumi.String("second-user@cast.ai"),
},
&castai.OrganizationGroupMemberMemberArgs{
Kind: pulumi.String("service_account"),
Id: pulumi.String("21c133e2-a899-4f51-b297-830bc62e51d9"),
Email: pulumi.String("service_account-2@cast.ai"),
},
},
},
},
})
if err != nil {
return err
}
_, err = castai.NewOrganizationGroup(ctx, "secondGroup", &castai.OrganizationGroupArgs{
OrganizationId: pulumi.String(test.Id),
Description: pulumi.String("A description of the second group."),
Members: castai.OrganizationGroupMemberArray{
&castai.OrganizationGroupMemberArgs{
Members: castai.OrganizationGroupMemberMemberArray{
&castai.OrganizationGroupMemberMemberArgs{
Kind: pulumi.String("user"),
Id: pulumi.String("21c133e2-a899-4f51-b297-830bc62e51d6"),
Email: pulumi.String("first-user@cast.ai"),
},
},
},
},
})
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Castai = Pulumi.Castai;
return await Deployment.RunAsync(() =>
{
var test = Castai.GetOrganization.Invoke(new()
{
Name = "My test organization name",
});
var firstGroup = new Castai.OrganizationGroup("firstGroup", new()
{
OrganizationId = test.Apply(getOrganizationResult => getOrganizationResult.Id),
Description = "A description of the first group.",
Members = new[]
{
new Castai.Inputs.OrganizationGroupMemberArgs
{
Members = new[]
{
new Castai.Inputs.OrganizationGroupMemberMemberArgs
{
Kind = "user",
Id = "21c133e2-a899-4f51-b297-830bc62e51d6",
Email = "first-user@cast.ai",
},
new Castai.Inputs.OrganizationGroupMemberMemberArgs
{
Kind = "user",
Id = "21c133e2-a899-4f51-b297-830bc62e51d7",
Email = "second-user@cast.ai",
},
new Castai.Inputs.OrganizationGroupMemberMemberArgs
{
Kind = "service_account",
Id = "21c133e2-a899-4f51-b297-830bc62e51d9",
Email = "service_account-2@cast.ai",
},
},
},
},
});
var secondGroup = new Castai.OrganizationGroup("secondGroup", new()
{
OrganizationId = test.Apply(getOrganizationResult => getOrganizationResult.Id),
Description = "A description of the second group.",
Members = new[]
{
new Castai.Inputs.OrganizationGroupMemberArgs
{
Members = new[]
{
new Castai.Inputs.OrganizationGroupMemberMemberArgs
{
Kind = "user",
Id = "21c133e2-a899-4f51-b297-830bc62e51d6",
Email = "first-user@cast.ai",
},
},
},
},
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.castai.CastaiFunctions;
import com.pulumi.castai.inputs.GetOrganizationArgs;
import com.pulumi.castai.OrganizationGroup;
import com.pulumi.castai.OrganizationGroupArgs;
import com.pulumi.castai.inputs.OrganizationGroupMemberArgs;
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 test = CastaiFunctions.getOrganization(GetOrganizationArgs.builder()
.name("My test organization name")
.build());
var firstGroup = new OrganizationGroup("firstGroup", OrganizationGroupArgs.builder()
.organizationId(test.applyValue(getOrganizationResult -> getOrganizationResult.id()))
.description("A description of the first group.")
.members(OrganizationGroupMemberArgs.builder()
.members(
OrganizationGroupMemberMemberArgs.builder()
.kind("user")
.id("21c133e2-a899-4f51-b297-830bc62e51d6")
.email("first-user@cast.ai")
.build(),
OrganizationGroupMemberMemberArgs.builder()
.kind("user")
.id("21c133e2-a899-4f51-b297-830bc62e51d7")
.email("second-user@cast.ai")
.build(),
OrganizationGroupMemberMemberArgs.builder()
.kind("service_account")
.id("21c133e2-a899-4f51-b297-830bc62e51d9")
.email("service_account-2@cast.ai")
.build())
.build())
.build());
var secondGroup = new OrganizationGroup("secondGroup", OrganizationGroupArgs.builder()
.organizationId(test.applyValue(getOrganizationResult -> getOrganizationResult.id()))
.description("A description of the second group.")
.members(OrganizationGroupMemberArgs.builder()
.members(OrganizationGroupMemberMemberArgs.builder()
.kind("user")
.id("21c133e2-a899-4f51-b297-830bc62e51d6")
.email("first-user@cast.ai")
.build())
.build())
.build());
}
}
resources:
firstGroup:
type: castai:OrganizationGroup
properties:
organizationId: ${test.id}
description: A description of the first group.
members:
- members:
- kind: user
id: 21c133e2-a899-4f51-b297-830bc62e51d6
email: first-user@cast.ai
- kind: user
id: 21c133e2-a899-4f51-b297-830bc62e51d7
email: second-user@cast.ai
- kind: service_account
id: 21c133e2-a899-4f51-b297-830bc62e51d9
email: service_account-2@cast.ai
secondGroup:
type: castai:OrganizationGroup
properties:
organizationId: ${test.id}
description: A description of the second group.
members:
- members:
- kind: user
id: 21c133e2-a899-4f51-b297-830bc62e51d6
email: first-user@cast.ai
variables:
test:
fn::invoke:
function: castai:getOrganization
arguments:
name: My test organization name
Create OrganizationGroup Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new OrganizationGroup(name: string, args: OrganizationGroupArgs, opts?: CustomResourceOptions);
@overload
def OrganizationGroup(resource_name: str,
args: OrganizationGroupArgs,
opts: Optional[ResourceOptions] = None)
@overload
def OrganizationGroup(resource_name: str,
opts: Optional[ResourceOptions] = None,
organization_id: Optional[str] = None,
description: Optional[str] = None,
members: Optional[Sequence[OrganizationGroupMemberArgs]] = None,
name: Optional[str] = None,
organization_group_id: Optional[str] = None,
timeouts: Optional[OrganizationGroupTimeoutsArgs] = None)
func NewOrganizationGroup(ctx *Context, name string, args OrganizationGroupArgs, opts ...ResourceOption) (*OrganizationGroup, error)
public OrganizationGroup(string name, OrganizationGroupArgs args, CustomResourceOptions? opts = null)
public OrganizationGroup(String name, OrganizationGroupArgs args)
public OrganizationGroup(String name, OrganizationGroupArgs args, CustomResourceOptions options)
type: castai:OrganizationGroup
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 OrganizationGroupArgs
- 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 OrganizationGroupArgs
- 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 OrganizationGroupArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args OrganizationGroupArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args OrganizationGroupArgs
- 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 organizationGroupResource = new Castai.OrganizationGroup("organizationGroupResource", new()
{
OrganizationId = "string",
Description = "string",
Members = new[]
{
new Castai.Inputs.OrganizationGroupMemberArgs
{
Members = new[]
{
new Castai.Inputs.OrganizationGroupMemberMemberArgs
{
Email = "string",
Id = "string",
Kind = "string",
},
},
},
},
Name = "string",
OrganizationGroupId = "string",
Timeouts = new Castai.Inputs.OrganizationGroupTimeoutsArgs
{
Create = "string",
Delete = "string",
Update = "string",
},
});
example, err := castai.NewOrganizationGroup(ctx, "organizationGroupResource", &castai.OrganizationGroupArgs{
OrganizationId: pulumi.String("string"),
Description: pulumi.String("string"),
Members: castai.OrganizationGroupMemberArray{
&castai.OrganizationGroupMemberArgs{
Members: castai.OrganizationGroupMemberMemberArray{
&castai.OrganizationGroupMemberMemberArgs{
Email: pulumi.String("string"),
Id: pulumi.String("string"),
Kind: pulumi.String("string"),
},
},
},
},
Name: pulumi.String("string"),
OrganizationGroupId: pulumi.String("string"),
Timeouts: &castai.OrganizationGroupTimeoutsArgs{
Create: pulumi.String("string"),
Delete: pulumi.String("string"),
Update: pulumi.String("string"),
},
})
var organizationGroupResource = new OrganizationGroup("organizationGroupResource", OrganizationGroupArgs.builder()
.organizationId("string")
.description("string")
.members(OrganizationGroupMemberArgs.builder()
.members(OrganizationGroupMemberMemberArgs.builder()
.email("string")
.id("string")
.kind("string")
.build())
.build())
.name("string")
.organizationGroupId("string")
.timeouts(OrganizationGroupTimeoutsArgs.builder()
.create("string")
.delete("string")
.update("string")
.build())
.build());
organization_group_resource = castai.OrganizationGroup("organizationGroupResource",
organization_id="string",
description="string",
members=[{
"members": [{
"email": "string",
"id": "string",
"kind": "string",
}],
}],
name="string",
organization_group_id="string",
timeouts={
"create": "string",
"delete": "string",
"update": "string",
})
const organizationGroupResource = new castai.OrganizationGroup("organizationGroupResource", {
organizationId: "string",
description: "string",
members: [{
members: [{
email: "string",
id: "string",
kind: "string",
}],
}],
name: "string",
organizationGroupId: "string",
timeouts: {
create: "string",
"delete": "string",
update: "string",
},
});
type: castai:OrganizationGroup
properties:
description: string
members:
- members:
- email: string
id: string
kind: string
name: string
organizationGroupId: string
organizationId: string
timeouts:
create: string
delete: string
update: string
OrganizationGroup 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 OrganizationGroup resource accepts the following input properties:
- Organization
Id string - CAST AI organization ID.
- Description string
- Description of the group.
- Members
List<Organization
Group Member> - Name string
- Name of the group.
- Organization
Group stringId - The ID of this resource.
- Timeouts
Organization
Group Timeouts
- Organization
Id string - CAST AI organization ID.
- Description string
- Description of the group.
- Members
[]Organization
Group Member Args - Name string
- Name of the group.
- Organization
Group stringId - The ID of this resource.
- Timeouts
Organization
Group Timeouts Args
- organization
Id String - CAST AI organization ID.
- description String
- Description of the group.
- members
List<Organization
Group Member> - name String
- Name of the group.
- organization
Group StringId - The ID of this resource.
- timeouts
Organization
Group Timeouts
- organization
Id string - CAST AI organization ID.
- description string
- Description of the group.
- members
Organization
Group Member[] - name string
- Name of the group.
- organization
Group stringId - The ID of this resource.
- timeouts
Organization
Group Timeouts
- organization_
id str - CAST AI organization ID.
- description str
- Description of the group.
- members
Sequence[Organization
Group Member Args] - name str
- Name of the group.
- organization_
group_ strid - The ID of this resource.
- timeouts
Organization
Group Timeouts Args
- organization
Id String - CAST AI organization ID.
- description String
- Description of the group.
- members List<Property Map>
- name String
- Name of the group.
- organization
Group StringId - The ID of this resource.
- timeouts Property Map
Outputs
All input properties are implicitly available as output properties. Additionally, the OrganizationGroup 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 OrganizationGroup Resource
Get an existing OrganizationGroup 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?: OrganizationGroupState, opts?: CustomResourceOptions): OrganizationGroup
@staticmethod
def get(resource_name: str,
id: str,
opts: Optional[ResourceOptions] = None,
description: Optional[str] = None,
members: Optional[Sequence[OrganizationGroupMemberArgs]] = None,
name: Optional[str] = None,
organization_group_id: Optional[str] = None,
organization_id: Optional[str] = None,
timeouts: Optional[OrganizationGroupTimeoutsArgs] = None) -> OrganizationGroup
func GetOrganizationGroup(ctx *Context, name string, id IDInput, state *OrganizationGroupState, opts ...ResourceOption) (*OrganizationGroup, error)
public static OrganizationGroup Get(string name, Input<string> id, OrganizationGroupState? state, CustomResourceOptions? opts = null)
public static OrganizationGroup get(String name, Output<String> id, OrganizationGroupState state, CustomResourceOptions options)
resources: _: type: castai:OrganizationGroup 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.
- Description string
- Description of the group.
- Members
List<Organization
Group Member> - Name string
- Name of the group.
- Organization
Group stringId - The ID of this resource.
- Organization
Id string - CAST AI organization ID.
- Timeouts
Organization
Group Timeouts
- Description string
- Description of the group.
- Members
[]Organization
Group Member Args - Name string
- Name of the group.
- Organization
Group stringId - The ID of this resource.
- Organization
Id string - CAST AI organization ID.
- Timeouts
Organization
Group Timeouts Args
- description String
- Description of the group.
- members
List<Organization
Group Member> - name String
- Name of the group.
- organization
Group StringId - The ID of this resource.
- organization
Id String - CAST AI organization ID.
- timeouts
Organization
Group Timeouts
- description string
- Description of the group.
- members
Organization
Group Member[] - name string
- Name of the group.
- organization
Group stringId - The ID of this resource.
- organization
Id string - CAST AI organization ID.
- timeouts
Organization
Group Timeouts
- description str
- Description of the group.
- members
Sequence[Organization
Group Member Args] - name str
- Name of the group.
- organization_
group_ strid - The ID of this resource.
- organization_
id str - CAST AI organization ID.
- timeouts
Organization
Group Timeouts Args
- description String
- Description of the group.
- members List<Property Map>
- name String
- Name of the group.
- organization
Group StringId - The ID of this resource.
- organization
Id String - CAST AI organization ID.
- timeouts Property Map
Supporting Types
OrganizationGroupMember, OrganizationGroupMemberArgs
OrganizationGroupMemberMember, OrganizationGroupMemberMemberArgs
OrganizationGroupTimeouts, OrganizationGroupTimeoutsArgs
Package Details
- Repository
- castai castai/terraform-provider-castai
- License
- Notes
- This Pulumi package is based on the
castai
Terraform Provider.