UNPKG

@pulumi/aws-native

Version:

The Pulumi AWS Cloud Control Provider enables you to build, deploy, and manage [any AWS resource that's supported by the AWS Cloud Control API](https://github.com/pulumi/pulumi-aws-native/blob/master/provider/cmd/pulumi-gen-aws-native/supported-types.txt)

128 lines (127 loc) 6.8 kB
import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; /** * Resource Type definition for SSO PermissionSet */ export declare class PermissionSet extends pulumi.CustomResource { /** * Get an existing PermissionSet 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 opts Optional settings to control the behavior of the CustomResource. */ static get(name: string, id: pulumi.Input<pulumi.ID>, opts?: pulumi.CustomResourceOptions): PermissionSet; /** * Returns true if the given object is an instance of PermissionSet. 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 PermissionSet; /** * Specifies the names and paths of the customer managed policies that you have attached to your permission set. */ readonly customerManagedPolicyReferences: pulumi.Output<outputs.sso.PermissionSetCustomerManagedPolicyReference[] | undefined>; /** * The permission set description. */ readonly description: pulumi.Output<string | undefined>; /** * The inline policy to put in permission set. * * Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SSO::PermissionSet` for more information about the expected schema for this property. */ readonly inlinePolicy: pulumi.Output<any | undefined>; /** * The sso instance arn that the permission set is owned. */ readonly instanceArn: pulumi.Output<string>; /** * A structure that stores a list of managed policy ARNs that describe the associated AWS managed policy. */ readonly managedPolicies: pulumi.Output<string[] | undefined>; /** * The name you want to assign to this permission set. */ readonly name: pulumi.Output<string>; /** * The permission set that the policy will be attached to */ readonly permissionSetArn: pulumi.Output<string>; /** * Specifies the configuration of the AWS managed or customer managed policy that you want to set as a permissions boundary. Specify either `CustomerManagedPolicyReference` to use the name and path of a customer managed policy, or `ManagedPolicyArn` to use the ARN of an AWS managed policy. A permissions boundary represents the maximum permissions that any policy can grant your role. For more information, see [Permissions boundaries for IAM entities](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_boundaries.html) in the *IAM User Guide* . * * > Policies used as permissions boundaries don't provide permissions. You must also attach an IAM policy to the role. To learn how the effective permissions for a role are evaluated, see [IAM JSON policy evaluation logic](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_evaluation-logic.html) in the *IAM User Guide* . */ readonly permissionsBoundary: pulumi.Output<outputs.sso.PermissionSetPermissionsBoundary | undefined>; /** * The relay state URL that redirect links to any service in the AWS Management Console. */ readonly relayStateType: pulumi.Output<string | undefined>; /** * The length of time that a user can be signed in to an AWS account. */ readonly sessionDuration: pulumi.Output<string | undefined>; /** * The tags to attach to the new `PermissionSet` . */ readonly tags: pulumi.Output<outputs.Tag[] | undefined>; /** * Create a PermissionSet 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: PermissionSetArgs, opts?: pulumi.CustomResourceOptions); } /** * The set of arguments for constructing a PermissionSet resource. */ export interface PermissionSetArgs { /** * Specifies the names and paths of the customer managed policies that you have attached to your permission set. */ customerManagedPolicyReferences?: pulumi.Input<pulumi.Input<inputs.sso.PermissionSetCustomerManagedPolicyReferenceArgs>[]>; /** * The permission set description. */ description?: pulumi.Input<string>; /** * The inline policy to put in permission set. * * Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SSO::PermissionSet` for more information about the expected schema for this property. */ inlinePolicy?: any; /** * The sso instance arn that the permission set is owned. */ instanceArn: pulumi.Input<string>; /** * A structure that stores a list of managed policy ARNs that describe the associated AWS managed policy. */ managedPolicies?: pulumi.Input<pulumi.Input<string>[]>; /** * The name you want to assign to this permission set. */ name?: pulumi.Input<string>; /** * Specifies the configuration of the AWS managed or customer managed policy that you want to set as a permissions boundary. Specify either `CustomerManagedPolicyReference` to use the name and path of a customer managed policy, or `ManagedPolicyArn` to use the ARN of an AWS managed policy. A permissions boundary represents the maximum permissions that any policy can grant your role. For more information, see [Permissions boundaries for IAM entities](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_boundaries.html) in the *IAM User Guide* . * * > Policies used as permissions boundaries don't provide permissions. You must also attach an IAM policy to the role. To learn how the effective permissions for a role are evaluated, see [IAM JSON policy evaluation logic](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_evaluation-logic.html) in the *IAM User Guide* . */ permissionsBoundary?: pulumi.Input<inputs.sso.PermissionSetPermissionsBoundaryArgs>; /** * The relay state URL that redirect links to any service in the AWS Management Console. */ relayStateType?: pulumi.Input<string>; /** * The length of time that a user can be signed in to an AWS account. */ sessionDuration?: pulumi.Input<string>; /** * The tags to attach to the new `PermissionSet` . */ tags?: pulumi.Input<pulumi.Input<inputs.TagArgs>[]>; }