UNPKG

@pepperize/cdk-organizations

Version:

Manage AWS organizations, organizational units (OU), accounts and service control policies (SCP).

69 lines (68 loc) 3.02 kB
import { TagManager } from "aws-cdk-lib"; import { Construct, IConstruct } from "constructs"; import { ITaggableResource } from "./tag-resource"; /** * Organizations offers policy types in the following two broad categories: * <ol> * <li>Authorization policies help you to centrally manage the security of the AWS accounts in your organization.</li> * <li>Management policies enable you to centrally configure and manage AWS services and their features.</li> * </ol> * * @see https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies.html#orgs-policy-types */ export declare enum PolicyType { /** * Service control policies (SCPs) offer central control over the maximum available permissions for all of the accounts in your organization. */ SERVICE_CONTROL_POLICY = "SERVICE_CONTROL_POLICY", /** * Tag policies help you standardize the tags attached to the AWS resources in your organization's accounts. */ TAG_POLICY = "TAG_POLICY", /** * Backup policies help you centrally manage and apply backup plans to the AWS resources across your organization's accounts. */ BACKUP_POLICY = "BACKUP_POLICY", /** * Artificial Intelligence (AI) services opt-out policies enable you to control data collection for AWS AI services for all of your organization's accounts. */ AISERVICES_OPT_OUT_POLICY = "AISERVICES_OPT_OUT_POLICY" } export interface PolicyProps { /** * The policy text content to add to the new policy. The text that you supply must adhere to the rules of the policy type you specify in the Type parameter. */ readonly content: string; /** * An optional description to assign to the policy. */ readonly description?: string; /** * The friendly name to assign to the policy. */ readonly policyName: string; /** * The type of policy to create. You can specify one of the following values: */ readonly policyType: PolicyType; } /** * Policies in AWS Organizations enable you to apply additional types of management to the AWS accounts in your organization. <strong>You can use policies when all features are enabled in your organization.</strong> * * <strong>Before you can create and attach a policy to your organization, you must enable that policy type for use.</strong> * * @see https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies.html * @see FeatureSet */ export interface IPolicy extends IConstruct { /** * The unique identifier (ID) of the policy. The regex pattern for a policy ID string requires "p-" followed by from 8 to 128 lowercase or uppercase letters, digits, or the underscore character (_). */ readonly policyId: string; } export declare class Policy extends Construct implements IPolicy, ITaggableResource { readonly policyId: string; readonly tags: TagManager; constructor(scope: Construct, id: string, props: PolicyProps); identifier(): string; }