@pulumi/aws
Version:
A Pulumi package for creating and managing Amazon Web Services (AWS) cloud resources.
102 lines (101 loc) • 4.06 kB
TypeScript
import * as pulumi from "@pulumi/pulumi";
/**
* Provides an IAM group.
*
* > **NOTE on user management:** Using `aws.iam.GroupMembership` or `aws.iam.UserGroupMembership` resources in addition to manually managing user/group membership using the console may lead to configuration drift or conflicts. For this reason, it's recommended to either manage membership entirely with the provider or entirely within the AWS console.
*
* ## Example Usage
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as aws from "@pulumi/aws";
*
* const developers = new aws.iam.Group("developers", {
* name: "developers",
* path: "/users/",
* });
* ```
*
* ## Import
*
* Using `pulumi import`, import IAM Groups using the `name`. For example:
*
* ```sh
* $ pulumi import aws:iam/group:Group developers developers
* ```
*/
export declare class Group extends pulumi.CustomResource {
/**
* Get an existing Group resource's state with the given name, ID, and optional extra
* properties used to qualify the lookup.
*
* @param name The _unique_ name of the resulting resource.
* @param id The _unique_ provider ID of the resource to lookup.
* @param state Any extra arguments used during the lookup.
* @param opts Optional settings to control the behavior of the CustomResource.
*/
static get(name: string, id: pulumi.Input<pulumi.ID>, state?: GroupState, opts?: pulumi.CustomResourceOptions): Group;
/**
* Returns true if the given object is an instance of Group. This is designed to work even
* when multiple copies of the Pulumi SDK have been loaded into the same process.
*/
static isInstance(obj: any): obj is Group;
/**
* The ARN assigned by AWS for this group.
*/
readonly arn: pulumi.Output<string>;
/**
* The group's name. The name must consist of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: `=,.@-_.`. Group names are not distinguished by case. For example, you cannot create groups named both "ADMINS" and "admins".
*/
readonly name: pulumi.Output<string>;
/**
* Path in which to create the group.
*/
readonly path: pulumi.Output<string | undefined>;
/**
* The [unique ID][1] assigned by AWS.
*/
readonly uniqueId: pulumi.Output<string>;
/**
* Create a Group resource with the given unique name, arguments, and options.
*
* @param name The _unique_ name of the resource.
* @param args The arguments to use to populate this resource's properties.
* @param opts A bag of options that control this resource's behavior.
*/
constructor(name: string, args?: GroupArgs, opts?: pulumi.CustomResourceOptions);
}
/**
* Input properties used for looking up and filtering Group resources.
*/
export interface GroupState {
/**
* The ARN assigned by AWS for this group.
*/
arn?: pulumi.Input<string>;
/**
* The group's name. The name must consist of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: `=,.@-_.`. Group names are not distinguished by case. For example, you cannot create groups named both "ADMINS" and "admins".
*/
name?: pulumi.Input<string>;
/**
* Path in which to create the group.
*/
path?: pulumi.Input<string>;
/**
* The [unique ID][1] assigned by AWS.
*/
uniqueId?: pulumi.Input<string>;
}
/**
* The set of arguments for constructing a Group resource.
*/
export interface GroupArgs {
/**
* The group's name. The name must consist of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: `=,.@-_.`. Group names are not distinguished by case. For example, you cannot create groups named both "ADMINS" and "admins".
*/
name?: pulumi.Input<string>;
/**
* Path in which to create the group.
*/
path?: pulumi.Input<string>;
}