import * as cdk from "../../core/lib"; import * as constructs from "constructs"; import * as cfn_parse from "../../core/lib/helpers-internal"; import { IPermissionAssociationRef, IPermissionRef, IPrincipalAssociationRef, IResourceAssociationRef, IResourceShareRef, ISourceAssociationRef, PermissionAssociationReference, PermissionReference, PrincipalAssociationReference, ResourceAssociationReference, ResourceShareReference, SourceAssociationReference } from "../../interfaces/generated/aws-ram-interfaces.generated"; /** * Creates a customer managed permission for a specified resource type that you can attach to resource shares. * * It is created in the AWS Region in which you call the operation. * * @cloudformationResource AWS::RAM::Permission * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ram-permission.html */ export declare class CfnPermission extends cdk.CfnResource implements cdk.IInspectable, IPermissionRef, cdk.ITaggable { /** * The CloudFormation resource type name for this resource class. */ static readonly CFN_RESOURCE_TYPE_NAME: string; /** * Build a CfnPermission from CloudFormation properties * * A factory method that creates a new instance of this class from an object * containing the CloudFormation properties of this resource. * Used in the @aws-cdk/cloudformation-include module. * * @internal */ static _fromCloudFormation(scope: constructs.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnPermission; /** * Checks whether the given object is a CfnPermission */ static isCfnPermission(x: any): x is CfnPermission; static arnForPermission(resource: IPermissionRef): string; /** * Specifies the name of the customer managed permission. */ private _name; /** * A string in JSON format string that contains the following elements of a resource-based policy:. */ private _policyTemplate; /** * Specifies the name of the resource type that this customer managed permission applies to. */ private _resourceType; /** * Tag Manager which manages the tags for this resource */ readonly tags: cdk.TagManager; /** * Specifies a list of one or more tag key and value pairs to attach to the permission. */ private _tagsRaw?; protected readonly cfnPropertyNames: Record; /** * Create a new `AWS::RAM::Permission`. * * @param scope Scope in which this resource is defined * @param id Construct identifier for this resource (unique in its scope) * @param props Resource properties */ constructor(scope: constructs.Construct, id: string, props: CfnPermissionProps); get permissionRef(): PermissionReference; /** * Specifies the name of the customer managed permission. */ get name(): string; /** * Specifies the name of the customer managed permission. */ set name(value: string); /** * A string in JSON format string that contains the following elements of a resource-based policy:. */ get policyTemplate(): any | cdk.IResolvable; /** * A string in JSON format string that contains the following elements of a resource-based policy:. */ set policyTemplate(value: any | cdk.IResolvable); /** * Specifies the name of the resource type that this customer managed permission applies to. */ get resourceType(): string; /** * Specifies the name of the resource type that this customer managed permission applies to. */ set resourceType(value: string); /** * Specifies a list of one or more tag key and value pairs to attach to the permission. */ get tagsRaw(): Array | undefined; /** * Specifies a list of one or more tag key and value pairs to attach to the permission. */ set tagsRaw(value: Array | undefined); /** * The Amazon Resource Name (ARN) of the new permission. * * @cloudformationAttribute Arn */ get attrArn(): string; /** * Specifies whether this permission is the default for new resource shares that include resources of the associated resource type. * * @cloudformationAttribute IsResourceTypeDefault */ get attrIsResourceTypeDefault(): cdk.IResolvable; /** * The type of managed permission. This can be one of the following values: * * - *AWS_MANAGED_PERMISSION* – AWS created and manages this managed permission. You can associate it with your resource shares, but you can't modify it. * - *CUSTOMER_MANAGED_PERMISSION* – You, or another principal in your account created this managed permission. You can associate it with your resource shares and create new versions that have different permissions. * * @cloudformationAttribute PermissionType */ get attrPermissionType(): string; /** * The version number for this version of the permission. * * @cloudformationAttribute Version */ get attrVersion(): string; protected get cfnProperties(): Record; /** * Examines the CloudFormation resource and discloses attributes * * @param inspector tree inspector to collect and process attributes */ inspect(inspector: cdk.TreeInspector): void; protected renderProperties(props: Record): Record; } /** * Properties for defining a `CfnPermission` * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ram-permission.html */ export interface CfnPermissionProps { /** * Specifies the name of the customer managed permission. * * The name must be unique within the AWS Region . * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ram-permission.html#cfn-ram-permission-name */ readonly name: string; /** * A string in JSON format string that contains the following elements of a resource-based policy:. * * - *Effect* : must be set to `ALLOW` . * - *Action* : specifies the actions that are allowed by this customer managed permission. The list must contain only actions that are supported by the specified resource type. For a list of all actions supported by each resource type, see [Actions, resources, and condition keys for AWS services](https://docs.aws.amazon.com/service-authorization/latest/reference/reference_policies_actions-resources-contextkeys.html) in the *AWS Identity and Access Management User Guide* . * - *Condition* : (optional) specifies conditional parameters that must evaluate to true when a user attempts an action for that action to be allowed. For more information about the Condition element, see [IAM policies: Condition element](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html) in the *AWS Identity and Access Management User Guide* . * * This template can't include either the `Resource` or `Principal` elements. Those are both filled in by AWS RAM when it instantiates the resource-based policy on each resource shared using this managed permission. The `Resource` comes from the ARN of the specific resource that you are sharing. The `Principal` comes from the list of identities added to the resource share. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ram-permission.html#cfn-ram-permission-policytemplate */ readonly policyTemplate: any | cdk.IResolvable; /** * Specifies the name of the resource type that this customer managed permission applies to. * * The format is `** : **` and is not case sensitive. For example, to specify an Amazon EC2 Subnet, you can use the string `ec2:subnet` . To see the list of valid values for this parameter, query the [ListResourceTypes](https://docs.aws.amazon.com/ram/latest/APIReference/API_ListResourceTypes.html) operation. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ram-permission.html#cfn-ram-permission-resourcetype */ readonly resourceType: string; /** * Specifies a list of one or more tag key and value pairs to attach to the permission. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ram-permission.html#cfn-ram-permission-tags */ readonly tags?: Array; } /** * Creates a resource share. * * You can provide a list of the Amazon Resource Names (ARNs) for the resources that you want to share, a list of principals you want to share the resources with, and the permissions to grant those principals. * * > Sharing a resource makes it available for use by principals outside of the AWS account that created the resource. Sharing doesn't change any permissions or quotas that apply to the resource in the account that created it. * * @cloudformationResource AWS::RAM::ResourceShare * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ram-resourceshare.html */ export declare class CfnResourceShare extends cdk.CfnResource implements cdk.IInspectable, IResourceShareRef, cdk.ITaggable { /** * The CloudFormation resource type name for this resource class. */ static readonly CFN_RESOURCE_TYPE_NAME: string; /** * Build a CfnResourceShare from CloudFormation properties * * A factory method that creates a new instance of this class from an object * containing the CloudFormation properties of this resource. * Used in the @aws-cdk/cloudformation-include module. * * @internal */ static _fromCloudFormation(scope: constructs.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnResourceShare; /** * Checks whether the given object is a CfnResourceShare */ static isCfnResourceShare(x: any): x is CfnResourceShare; static arnForResourceShare(resource: IResourceShareRef): string; /** * Specifies whether principals outside your organization in AWS Organizations can be associated with a resource share. */ private _allowExternalPrincipals?; /** * Specifies the name of the resource share. */ private _name; /** * Specifies the [Amazon Resource Names (ARNs)](https://docs.aws.amazon.com//general/latest/gr/aws-arns-and-namespaces.html) of the AWS RAM permission to associate with the resource share. If you do not specify an ARN for the permission, AWS RAM automatically attaches the default version of the permission for each resource type. You can associate only one permission with each resource type included in the resource share. */ private _permissionArns?; /** * Specifies the principals to associate with the resource share. The possible values are:. */ private _principals?; /** * Specifies a list of one or more ARNs of the resources to associate with the resource share. */ private _resourceArns?; /** * The configuration for a resource share. */ private _resourceShareConfiguration?; /** * Specifies from which source accounts the service principal has access to the resources in this resource share. */ private _sources?; /** * Tag Manager which manages the tags for this resource */ readonly tags: cdk.TagManager; /** * Specifies one or more tags to attach to the resource share itself. */ private _tagsRaw?; protected readonly cfnPropertyNames: Record; /** * Create a new `AWS::RAM::ResourceShare`. * * @param scope Scope in which this resource is defined * @param id Construct identifier for this resource (unique in its scope) * @param props Resource properties */ constructor(scope: constructs.Construct, id: string, props: CfnResourceShareProps); get resourceShareRef(): ResourceShareReference; /** * Specifies whether principals outside your organization in AWS Organizations can be associated with a resource share. */ get allowExternalPrincipals(): boolean | cdk.IResolvable | undefined; /** * Specifies whether principals outside your organization in AWS Organizations can be associated with a resource share. */ set allowExternalPrincipals(value: boolean | cdk.IResolvable | undefined); /** * Specifies the name of the resource share. */ get name(): string; /** * Specifies the name of the resource share. */ set name(value: string); /** * Specifies the [Amazon Resource Names (ARNs)](https://docs.aws.amazon.com//general/latest/gr/aws-arns-and-namespaces.html) of the AWS RAM permission to associate with the resource share. If you do not specify an ARN for the permission, AWS RAM automatically attaches the default version of the permission for each resource type. You can associate only one permission with each resource type included in the resource share. */ get permissionArns(): Array | undefined; /** * Specifies the [Amazon Resource Names (ARNs)](https://docs.aws.amazon.com//general/latest/gr/aws-arns-and-namespaces.html) of the AWS RAM permission to associate with the resource share. If you do not specify an ARN for the permission, AWS RAM automatically attaches the default version of the permission for each resource type. You can associate only one permission with each resource type included in the resource share. */ set permissionArns(value: Array | undefined); /** * Specifies the principals to associate with the resource share. The possible values are:. */ get principals(): Array | undefined; /** * Specifies the principals to associate with the resource share. The possible values are:. */ set principals(value: Array | undefined); /** * Specifies a list of one or more ARNs of the resources to associate with the resource share. */ get resourceArns(): Array | undefined; /** * Specifies a list of one or more ARNs of the resources to associate with the resource share. */ set resourceArns(value: Array | undefined); /** * The configuration for a resource share. */ get resourceShareConfiguration(): cdk.IResolvable | CfnResourceShare.ResourceShareConfigurationProperty | undefined; /** * The configuration for a resource share. */ set resourceShareConfiguration(value: cdk.IResolvable | CfnResourceShare.ResourceShareConfigurationProperty | undefined); /** * Specifies from which source accounts the service principal has access to the resources in this resource share. */ get sources(): Array | undefined; /** * Specifies from which source accounts the service principal has access to the resources in this resource share. */ set sources(value: Array | undefined); /** * Specifies one or more tags to attach to the resource share itself. */ get tagsRaw(): Array | undefined; /** * Specifies one or more tags to attach to the resource share itself. */ set tagsRaw(value: Array | undefined); /** * The Amazon Resource Name (ARN) of the resource share. * * @cloudformationAttribute Arn */ get attrArn(): string; /** * The date and time when the resource share was created. * * @cloudformationAttribute CreationTime */ get attrCreationTime(): string; /** * Indicates what features are available for this resource share. This parameter can have one of the following values: * * - *STANDARD* – A resource share that supports all functionality. These resource shares are visible to all principals you share the resource share with. You can modify these resource shares in AWS RAM using the console or APIs. This resource share might have been created by AWS RAM , or it might have been *CREATED_FROM_POLICY* and then promoted. * - *CREATED_FROM_POLICY* – The customer manually shared a resource by attaching a resource-based policy. That policy did not match any existing managed permissions, so AWS RAM created this customer managed permission automatically on the customer's behalf based on the attached policy document. This type of resource share is visible only to the AWS account that created it. You can't modify it in AWS RAM unless you promote it. For more information, see `PromoteResourceShareCreatedFromPolicy` . * - *PROMOTING_TO_STANDARD* – This resource share was originally `CREATED_FROM_POLICY` , but the customer ran the `PromoteResourceShareCreatedFromPolicy` and that operation is still in progress. This value changes to `STANDARD` when complete. * * @cloudformationAttribute FeatureSet */ get attrFeatureSet(): string; /** * The date and time when the resource share was last updated. * * @cloudformationAttribute LastUpdatedTime */ get attrLastUpdatedTime(): string; /** * The ID of the AWS account that owns the resource share. * * @cloudformationAttribute OwningAccountId */ get attrOwningAccountId(): string; /** * The current status of the resource share. * * @cloudformationAttribute Status */ get attrStatus(): string; protected get cfnProperties(): Record; /** * Examines the CloudFormation resource and discloses attributes * * @param inspector tree inspector to collect and process attributes */ inspect(inspector: cdk.TreeInspector): void; protected renderProperties(props: Record): Record; } export declare namespace CfnResourceShare { /** * The configuration for a resource share. * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ram-resourceshare-resourceshareconfiguration.html */ interface ResourceShareConfigurationProperty { /** * The resource share restricts access to an account. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ram-resourceshare-resourceshareconfiguration.html#cfn-ram-resourceshare-resourceshareconfiguration-exclusiveaccountaccess */ readonly exclusiveAccountAccess?: boolean | cdk.IResolvable; /** * Specifies whether the consumer account retains access to the resource share after leaving the organization. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ram-resourceshare-resourceshareconfiguration.html#cfn-ram-resourceshare-resourceshareconfiguration-retainsharingonaccountleaveorganization */ readonly retainSharingOnAccountLeaveOrganization?: boolean | cdk.IResolvable; } } /** * Properties for defining a `CfnResourceShare` * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ram-resourceshare.html */ export interface CfnResourceShareProps { /** * Specifies whether principals outside your organization in AWS Organizations can be associated with a resource share. * * A value of `true` lets you share with individual AWS accounts that are *not* in your organization. A value of `false` only has meaning if your account is a member of an AWS Organization. The default value is `true` . * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ram-resourceshare.html#cfn-ram-resourceshare-allowexternalprincipals */ readonly allowExternalPrincipals?: boolean | cdk.IResolvable; /** * Specifies the name of the resource share. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ram-resourceshare.html#cfn-ram-resourceshare-name */ readonly name: string; /** * Specifies the [Amazon Resource Names (ARNs)](https://docs.aws.amazon.com//general/latest/gr/aws-arns-and-namespaces.html) of the AWS RAM permission to associate with the resource share. If you do not specify an ARN for the permission, AWS RAM automatically attaches the default version of the permission for each resource type. You can associate only one permission with each resource type included in the resource share. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ram-resourceshare.html#cfn-ram-resourceshare-permissionarns */ readonly permissionArns?: Array; /** * Specifies the principals to associate with the resource share. The possible values are:. * * - An AWS account ID * - An Amazon Resource Name (ARN) of an organization in AWS Organizations * - An ARN of an organizational unit (OU) in AWS Organizations * - An ARN of an IAM role * - An ARN of an IAM user * * > Not all resource types can be shared with IAM roles and users. For more information, see the column *Can share with IAM roles and users* in the tables on [Shareable AWS resources](https://docs.aws.amazon.com/ram/latest/userguide/shareable.html) in the *AWS Resource Access Manager User Guide* . * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ram-resourceshare.html#cfn-ram-resourceshare-principals */ readonly principals?: Array; /** * Specifies a list of one or more ARNs of the resources to associate with the resource share. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ram-resourceshare.html#cfn-ram-resourceshare-resourcearns */ readonly resourceArns?: Array; /** * The configuration for a resource share. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ram-resourceshare.html#cfn-ram-resourceshare-resourceshareconfiguration */ readonly resourceShareConfiguration?: cdk.IResolvable | CfnResourceShare.ResourceShareConfigurationProperty; /** * Specifies from which source accounts the service principal has access to the resources in this resource share. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ram-resourceshare.html#cfn-ram-resourceshare-sources */ readonly sources?: Array; /** * Specifies one or more tags to attach to the resource share itself. * * It doesn't attach the tags to the resources associated with the resource share. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ram-resourceshare.html#cfn-ram-resourceshare-tags */ readonly tags?: Array; } /** * Associates a specified AWS RAM permission with a resource share. * * You can only associate one permission with each resource type in a resource share. * * @cloudformationResource AWS::RAM::PermissionAssociation * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ram-permissionassociation.html */ export declare class CfnPermissionAssociation extends cdk.CfnResource implements cdk.IInspectable, IPermissionAssociationRef { /** * The CloudFormation resource type name for this resource class. */ static readonly CFN_RESOURCE_TYPE_NAME: string; /** * Build a CfnPermissionAssociation from CloudFormation properties * * A factory method that creates a new instance of this class from an object * containing the CloudFormation properties of this resource. * Used in the @aws-cdk/cloudformation-include module. * * @internal */ static _fromCloudFormation(scope: constructs.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnPermissionAssociation; /** * Checks whether the given object is a CfnPermissionAssociation */ static isCfnPermissionAssociation(x: any): x is CfnPermissionAssociation; /** * Specifies the [Amazon Resource Name (ARN)](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) of the AWS RAM permission to associate with the resource share. */ private _permissionArn; /** * Specifies whether to replace the existing permission on the resource share. */ private _replace?; /** * Specifies the [Amazon Resource Name (ARN)](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) of the resource share. */ private _resourceShareArn; protected readonly cfnPropertyNames: Record; /** * Create a new `AWS::RAM::PermissionAssociation`. * * @param scope Scope in which this resource is defined * @param id Construct identifier for this resource (unique in its scope) * @param props Resource properties */ constructor(scope: constructs.Construct, id: string, props: CfnPermissionAssociationProps); get permissionAssociationRef(): PermissionAssociationReference; /** * Specifies the [Amazon Resource Name (ARN)](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) of the AWS RAM permission to associate with the resource share. */ get permissionArn(): string; /** * Specifies the [Amazon Resource Name (ARN)](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) of the AWS RAM permission to associate with the resource share. */ set permissionArn(value: string); /** * Specifies whether to replace the existing permission on the resource share. */ get replace(): boolean | cdk.IResolvable | undefined; /** * Specifies whether to replace the existing permission on the resource share. */ set replace(value: boolean | cdk.IResolvable | undefined); /** * Specifies the [Amazon Resource Name (ARN)](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) of the resource share. */ get resourceShareArn(): string; /** * Specifies the [Amazon Resource Name (ARN)](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) of the resource share. */ set resourceShareArn(value: string); /** * The current status of the association between the permission and the resource share. * * @cloudformationAttribute AssociationStatus */ get attrAssociationStatus(): string; /** * The feature set of the resource share. * * @cloudformationAttribute FeatureSet */ get attrFeatureSet(): string; /** * Indicates whether the associated resource share is using the default version of the permission. * * @cloudformationAttribute IsDefault */ get attrIsDefault(): cdk.IResolvable; /** * The date and time when the association between the permission and the resource share was last updated. * * @cloudformationAttribute LastUpdatedTime */ get attrLastUpdatedTime(): string; /** * The version of the permission currently associated with the resource share. * * @cloudformationAttribute PermissionVersion */ get attrPermissionVersion(): string; /** * The resource type to which the permission applies. * * @cloudformationAttribute ResourceType */ get attrResourceType(): string; protected get cfnProperties(): Record; /** * Examines the CloudFormation resource and discloses attributes * * @param inspector tree inspector to collect and process attributes */ inspect(inspector: cdk.TreeInspector): void; protected renderProperties(props: Record): Record; } /** * Properties for defining a `CfnPermissionAssociation` * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ram-permissionassociation.html */ export interface CfnPermissionAssociationProps { /** * Specifies the [Amazon Resource Name (ARN)](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) of the AWS RAM permission to associate with the resource share. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ram-permissionassociation.html#cfn-ram-permissionassociation-permissionarn */ readonly permissionArn: string; /** * Specifies whether to replace the existing permission on the resource share. * * Use `true` to replace the current permission. Use `false` to add the permission when no permission is currently associated. The default value is `false`. Updating an existing association also requires `true`, because AWS RAM applies the change by re-associating the permission. * * @default - false * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ram-permissionassociation.html#cfn-ram-permissionassociation-replace */ readonly replace?: boolean | cdk.IResolvable; /** * Specifies the [Amazon Resource Name (ARN)](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) of the resource share. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ram-permissionassociation.html#cfn-ram-permissionassociation-resourcesharearn */ readonly resourceShareArn: string; } /** * Associates a specified principal with a resource share. * * @cloudformationResource AWS::RAM::PrincipalAssociation * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ram-principalassociation.html */ export declare class CfnPrincipalAssociation extends cdk.CfnResource implements cdk.IInspectable, IPrincipalAssociationRef { /** * The CloudFormation resource type name for this resource class. */ static readonly CFN_RESOURCE_TYPE_NAME: string; /** * Build a CfnPrincipalAssociation from CloudFormation properties * * A factory method that creates a new instance of this class from an object * containing the CloudFormation properties of this resource. * Used in the @aws-cdk/cloudformation-include module. * * @internal */ static _fromCloudFormation(scope: constructs.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnPrincipalAssociation; /** * Checks whether the given object is a CfnPrincipalAssociation */ static isCfnPrincipalAssociation(x: any): x is CfnPrincipalAssociation; /** * Specifies the principal to associate with the resource share. The possible values are:. */ private _principal; /** * Specifies the [Amazon Resource Name (ARN)](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) of the resource share. */ private _resourceShareArn; protected readonly cfnPropertyNames: Record; /** * Create a new `AWS::RAM::PrincipalAssociation`. * * @param scope Scope in which this resource is defined * @param id Construct identifier for this resource (unique in its scope) * @param props Resource properties */ constructor(scope: constructs.Construct, id: string, props: CfnPrincipalAssociationProps); get principalAssociationRef(): PrincipalAssociationReference; /** * Specifies the principal to associate with the resource share. The possible values are:. */ get principal(): string; /** * Specifies the principal to associate with the resource share. The possible values are:. */ set principal(value: string); /** * Specifies the [Amazon Resource Name (ARN)](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) of the resource share. */ get resourceShareArn(): string; /** * Specifies the [Amazon Resource Name (ARN)](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) of the resource share. */ set resourceShareArn(value: string); /** * The type of entity included in this association. * * @cloudformationAttribute AssociationType */ get attrAssociationType(): string; /** * The date and time when the association was created. * * @cloudformationAttribute CreationTime */ get attrCreationTime(): string; /** * Indicates whether the principal belongs to the same organization in AWS Organizations as the AWS account that owns the resource share. * * @cloudformationAttribute External */ get attrExternal(): cdk.IResolvable; /** * The date and time when the association was last updated. * * @cloudformationAttribute LastUpdatedTime */ get attrLastUpdatedTime(): string; /** * The current status of the association. * * @cloudformationAttribute Status */ get attrStatus(): string; protected get cfnProperties(): Record; /** * Examines the CloudFormation resource and discloses attributes * * @param inspector tree inspector to collect and process attributes */ inspect(inspector: cdk.TreeInspector): void; protected renderProperties(props: Record): Record; } /** * Properties for defining a `CfnPrincipalAssociation` * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ram-principalassociation.html */ export interface CfnPrincipalAssociationProps { /** * Specifies the principal to associate with the resource share. The possible values are:. * * - An AWS account ID * * - An Amazon Resource Name (ARN) of an organization in AWS Organizations * * - An ARN of an organizational unit (OU) in AWS Organizations * * - An ARN of an IAM role * * - An ARN of an IAM user * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ram-principalassociation.html#cfn-ram-principalassociation-principal */ readonly principal: string; /** * Specifies the [Amazon Resource Name (ARN)](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) of the resource share. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ram-principalassociation.html#cfn-ram-principalassociation-resourcesharearn */ readonly resourceShareArn: string; } /** * Associates a specified resource with a resource share. * * @cloudformationResource AWS::RAM::ResourceAssociation * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ram-resourceassociation.html */ export declare class CfnResourceAssociation extends cdk.CfnResource implements cdk.IInspectable, IResourceAssociationRef { /** * The CloudFormation resource type name for this resource class. */ static readonly CFN_RESOURCE_TYPE_NAME: string; /** * Build a CfnResourceAssociation from CloudFormation properties * * A factory method that creates a new instance of this class from an object * containing the CloudFormation properties of this resource. * Used in the @aws-cdk/cloudformation-include module. * * @internal */ static _fromCloudFormation(scope: constructs.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnResourceAssociation; /** * Checks whether the given object is a CfnResourceAssociation */ static isCfnResourceAssociation(x: any): x is CfnResourceAssociation; /** * Specifies the [Amazon Resource Name (ARN)](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) of the resource to associate with the resource share. */ private _resourceArn; /** * Specifies the [Amazon Resource Name (ARN)](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) of the resource share. */ private _resourceShareArn; protected readonly cfnPropertyNames: Record; /** * Create a new `AWS::RAM::ResourceAssociation`. * * @param scope Scope in which this resource is defined * @param id Construct identifier for this resource (unique in its scope) * @param props Resource properties */ constructor(scope: constructs.Construct, id: string, props: CfnResourceAssociationProps); get resourceAssociationRef(): ResourceAssociationReference; /** * Specifies the [Amazon Resource Name (ARN)](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) of the resource to associate with the resource share. */ get resourceArn(): string; /** * Specifies the [Amazon Resource Name (ARN)](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) of the resource to associate with the resource share. */ set resourceArn(value: string); /** * Specifies the [Amazon Resource Name (ARN)](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) of the resource share. */ get resourceShareArn(): string; /** * Specifies the [Amazon Resource Name (ARN)](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) of the resource share. */ set resourceShareArn(value: string); /** * The type of entity included in this association. * * @cloudformationAttribute AssociationType */ get attrAssociationType(): string; /** * The date and time when the association was created. * * @cloudformationAttribute CreationTime */ get attrCreationTime(): string; /** * Indicates whether the principal belongs to the same organization in AWS Organizations as the AWS account that owns the resource share. * * @cloudformationAttribute External */ get attrExternal(): cdk.IResolvable; /** * The date and time when the association was last updated. * * @cloudformationAttribute LastUpdatedTime */ get attrLastUpdatedTime(): string; /** * The current status of the association. * * @cloudformationAttribute Status */ get attrStatus(): string; protected get cfnProperties(): Record; /** * Examines the CloudFormation resource and discloses attributes * * @param inspector tree inspector to collect and process attributes */ inspect(inspector: cdk.TreeInspector): void; protected renderProperties(props: Record): Record; } /** * Properties for defining a `CfnResourceAssociation` * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ram-resourceassociation.html */ export interface CfnResourceAssociationProps { /** * Specifies the [Amazon Resource Name (ARN)](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) of the resource to associate with the resource share. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ram-resourceassociation.html#cfn-ram-resourceassociation-resourcearn */ readonly resourceArn: string; /** * Specifies the [Amazon Resource Name (ARN)](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) of the resource share. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ram-resourceassociation.html#cfn-ram-resourceassociation-resourcesharearn */ readonly resourceShareArn: string; } /** * Associates a specified source account with a resource share. * * @cloudformationResource AWS::RAM::SourceAssociation * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ram-sourceassociation.html */ export declare class CfnSourceAssociation extends cdk.CfnResource implements cdk.IInspectable, ISourceAssociationRef { /** * The CloudFormation resource type name for this resource class. */ static readonly CFN_RESOURCE_TYPE_NAME: string; /** * Build a CfnSourceAssociation from CloudFormation properties * * A factory method that creates a new instance of this class from an object * containing the CloudFormation properties of this resource. * Used in the @aws-cdk/cloudformation-include module. * * @internal */ static _fromCloudFormation(scope: constructs.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnSourceAssociation; /** * Checks whether the given object is a CfnSourceAssociation */ static isCfnSourceAssociation(x: any): x is CfnSourceAssociation; /** * Specifies the [Amazon Resource Name (ARN)](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) of the resource share. */ private _resourceShareArn; /** * Specifies the ID of the source account to associate with the resource share. */ private _sourceId; protected readonly cfnPropertyNames: Record; /** * Create a new `AWS::RAM::SourceAssociation`. * * @param scope Scope in which this resource is defined * @param id Construct identifier for this resource (unique in its scope) * @param props Resource properties */ constructor(scope: constructs.Construct, id: string, props: CfnSourceAssociationProps); get sourceAssociationRef(): SourceAssociationReference; /** * Specifies the [Amazon Resource Name (ARN)](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) of the resource share. */ get resourceShareArn(): string; /** * Specifies the [Amazon Resource Name (ARN)](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) of the resource share. */ set resourceShareArn(value: string); /** * Specifies the ID of the source account to associate with the resource share. */ get sourceId(): string; /** * Specifies the ID of the source account to associate with the resource share. */ set sourceId(value: string); /** * The date and time when the association was created. * * @cloudformationAttribute CreationTime */ get attrCreationTime(): string; /** * The date and time when the association was last updated. * * @cloudformationAttribute LastUpdatedTime */ get attrLastUpdatedTime(): string; /** * The type of the source. * * @cloudformationAttribute SourceType */ get attrSourceType(): string; /** * The current status of the association. * * @cloudformationAttribute Status */ get attrStatus(): string; protected get cfnProperties(): Record; /** * Examines the CloudFormation resource and discloses attributes * * @param inspector tree inspector to collect and process attributes */ inspect(inspector: cdk.TreeInspector): void; protected renderProperties(props: Record): Record; } /** * Properties for defining a `CfnSourceAssociation` * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ram-sourceassociation.html */ export interface CfnSourceAssociationProps { /** * Specifies the [Amazon Resource Name (ARN)](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) of the resource share. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ram-sourceassociation.html#cfn-ram-sourceassociation-resourcesharearn */ readonly resourceShareArn: string; /** * Specifies the ID of the source account to associate with the resource share. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ram-sourceassociation.html#cfn-ram-sourceassociation-sourceid */ readonly sourceId: string; } export type { IPermissionRef, PermissionReference }; export type { IResourceShareRef, ResourceShareReference }; export type { IPermissionAssociationRef, PermissionAssociationReference }; export type { IPrincipalAssociationRef, PrincipalAssociationReference }; export type { IResourceAssociationRef, ResourceAssociationReference }; export type { ISourceAssociationRef, SourceAssociationReference };