UNPKG

@cdktf/provider-aws

Version:

Prebuilt aws Provider for Terraform CDK (cdktf)

285 lines (284 loc) 17 kB
/** * Copyright (c) HashiCorp, Inc. * SPDX-License-Identifier: MPL-2.0 */ import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface DataAwsIamPrincipalPolicySimulationConfig extends cdktf.TerraformMetaArguments { /** * One or more names of actions, like "iam:CreateUser", that should be included in the simulation. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/data-sources/iam_principal_policy_simulation#action_names DataAwsIamPrincipalPolicySimulation#action_names} */ readonly actionNames: string[]; /** * Additional principal-based policies to use in the simulation. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/data-sources/iam_principal_policy_simulation#additional_policies_json DataAwsIamPrincipalPolicySimulation#additional_policies_json} */ readonly additionalPoliciesJson?: string[]; /** * ARN of a user to use as the caller of the simulated requests. If not specified, defaults to the principal specified in policy_source_arn, if it is a user ARN. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/data-sources/iam_principal_policy_simulation#caller_arn DataAwsIamPrincipalPolicySimulation#caller_arn} */ readonly callerArn?: string; /** * Additional permission boundary policies to use in the simulation. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/data-sources/iam_principal_policy_simulation#permissions_boundary_policies_json DataAwsIamPrincipalPolicySimulation#permissions_boundary_policies_json} */ readonly permissionsBoundaryPoliciesJson?: string[]; /** * ARN of the principal (e.g. user, role) whose existing configured access policies will be used as the basis for the simulation. If you specify a role ARN here, you can also set caller_arn to simulate a particular user acting with the given role. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/data-sources/iam_principal_policy_simulation#policy_source_arn DataAwsIamPrincipalPolicySimulation#policy_source_arn} */ readonly policySourceArn: string; /** * ARNs of specific resources to use as the targets of the specified actions during simulation. If not specified, the simulator assumes "*" which represents general access across all resources. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/data-sources/iam_principal_policy_simulation#resource_arns DataAwsIamPrincipalPolicySimulation#resource_arns} */ readonly resourceArns?: string[]; /** * Specifies the type of simulation to run. Some API operations need a particular resource handling option in order to produce a correct reesult. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/data-sources/iam_principal_policy_simulation#resource_handling_option DataAwsIamPrincipalPolicySimulation#resource_handling_option} */ readonly resourceHandlingOption?: string; /** * An AWS account ID to use as the simulated owner for any resource whose ARN does not include a specific owner account ID. Defaults to the account given as part of caller_arn. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/data-sources/iam_principal_policy_simulation#resource_owner_account_id DataAwsIamPrincipalPolicySimulation#resource_owner_account_id} */ readonly resourceOwnerAccountId?: string; /** * A resource policy to associate with all of the target resources for simulation purposes. The policy simulator does not automatically retrieve resource-level policies, so if a resource policy is crucial to your test then you must specify here the same policy document associated with your target resource(s). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/data-sources/iam_principal_policy_simulation#resource_policy_json DataAwsIamPrincipalPolicySimulation#resource_policy_json} */ readonly resourcePolicyJson?: string; /** * context block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/data-sources/iam_principal_policy_simulation#context DataAwsIamPrincipalPolicySimulation#context} */ readonly context?: DataAwsIamPrincipalPolicySimulationContext[] | cdktf.IResolvable; } export interface DataAwsIamPrincipalPolicySimulationResultsMatchedStatements { } export declare function dataAwsIamPrincipalPolicySimulationResultsMatchedStatementsToTerraform(struct?: DataAwsIamPrincipalPolicySimulationResultsMatchedStatements): any; export declare function dataAwsIamPrincipalPolicySimulationResultsMatchedStatementsToHclTerraform(struct?: DataAwsIamPrincipalPolicySimulationResultsMatchedStatements): any; export declare class DataAwsIamPrincipalPolicySimulationResultsMatchedStatementsOutputReference extends cdktf.ComplexObject { private isEmptyObject; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param complexObjectIndex the index of this item in the list * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean); get internalValue(): DataAwsIamPrincipalPolicySimulationResultsMatchedStatements | undefined; set internalValue(value: DataAwsIamPrincipalPolicySimulationResultsMatchedStatements | undefined); get sourcePolicyId(): string; get sourcePolicyType(): string; } export declare class DataAwsIamPrincipalPolicySimulationResultsMatchedStatementsList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean); /** * @param index the index of the item to return */ get(index: number): DataAwsIamPrincipalPolicySimulationResultsMatchedStatementsOutputReference; } export interface DataAwsIamPrincipalPolicySimulationResults { } export declare function dataAwsIamPrincipalPolicySimulationResultsToTerraform(struct?: DataAwsIamPrincipalPolicySimulationResults): any; export declare function dataAwsIamPrincipalPolicySimulationResultsToHclTerraform(struct?: DataAwsIamPrincipalPolicySimulationResults): any; export declare class DataAwsIamPrincipalPolicySimulationResultsOutputReference extends cdktf.ComplexObject { private isEmptyObject; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param complexObjectIndex the index of this item in the list * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean); get internalValue(): DataAwsIamPrincipalPolicySimulationResults | undefined; set internalValue(value: DataAwsIamPrincipalPolicySimulationResults | undefined); get actionName(): string; get allowed(): cdktf.IResolvable; get decision(): string; private _decisionDetails; get decisionDetails(): cdktf.StringMap; private _matchedStatements; get matchedStatements(): DataAwsIamPrincipalPolicySimulationResultsMatchedStatementsList; get missingContextKeys(): string[]; get resourceArn(): string; } export declare class DataAwsIamPrincipalPolicySimulationResultsList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean); /** * @param index the index of the item to return */ get(index: number): DataAwsIamPrincipalPolicySimulationResultsOutputReference; } export interface DataAwsIamPrincipalPolicySimulationContext { /** * The key name of the context entry, such as "aws:CurrentTime". * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/data-sources/iam_principal_policy_simulation#key DataAwsIamPrincipalPolicySimulation#key} */ readonly key: string; /** * The type that the simulator should use to interpret the strings given in argument "values". * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/data-sources/iam_principal_policy_simulation#type DataAwsIamPrincipalPolicySimulation#type} */ readonly type: string; /** * One or more values to assign to the context key, given as a string in a syntax appropriate for the selected value type. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/data-sources/iam_principal_policy_simulation#values DataAwsIamPrincipalPolicySimulation#values} */ readonly values: string[]; } export declare function dataAwsIamPrincipalPolicySimulationContextToTerraform(struct?: DataAwsIamPrincipalPolicySimulationContext | cdktf.IResolvable): any; export declare function dataAwsIamPrincipalPolicySimulationContextToHclTerraform(struct?: DataAwsIamPrincipalPolicySimulationContext | cdktf.IResolvable): any; export declare class DataAwsIamPrincipalPolicySimulationContextOutputReference extends cdktf.ComplexObject { private isEmptyObject; private resolvableValue?; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param complexObjectIndex the index of this item in the list * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean); get internalValue(): DataAwsIamPrincipalPolicySimulationContext | cdktf.IResolvable | undefined; set internalValue(value: DataAwsIamPrincipalPolicySimulationContext | cdktf.IResolvable | undefined); private _key?; get key(): string; set key(value: string); get keyInput(): string | undefined; private _type?; get type(): string; set type(value: string); get typeInput(): string | undefined; private _values?; get values(): string[]; set values(value: string[]); get valuesInput(): string[] | undefined; } export declare class DataAwsIamPrincipalPolicySimulationContextList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: DataAwsIamPrincipalPolicySimulationContext[] | cdktf.IResolvable; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean); /** * @param index the index of the item to return */ get(index: number): DataAwsIamPrincipalPolicySimulationContextOutputReference; } /** * Represents a {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/data-sources/iam_principal_policy_simulation aws_iam_principal_policy_simulation} */ export declare class DataAwsIamPrincipalPolicySimulation extends cdktf.TerraformDataSource { static readonly tfResourceType = "aws_iam_principal_policy_simulation"; /** * Generates CDKTF code for importing a DataAwsIamPrincipalPolicySimulation resource upon running "cdktf plan <stack-name>" * @param scope The scope in which to define this construct * @param importToId The construct id used in the generated config for the DataAwsIamPrincipalPolicySimulation to import * @param importFromId The id of the existing DataAwsIamPrincipalPolicySimulation that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/data-sources/iam_principal_policy_simulation#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the DataAwsIamPrincipalPolicySimulation to import is found */ static generateConfigForImport(scope: Construct, importToId: string, importFromId: string, provider?: cdktf.TerraformProvider): cdktf.ImportableResource; /** * Create a new {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/data-sources/iam_principal_policy_simulation aws_iam_principal_policy_simulation} Data Source * * @param scope The scope in which to define this construct * @param id The scoped construct ID. Must be unique amongst siblings in the same scope * @param options DataAwsIamPrincipalPolicySimulationConfig */ constructor(scope: Construct, id: string, config: DataAwsIamPrincipalPolicySimulationConfig); private _actionNames?; get actionNames(): string[]; set actionNames(value: string[]); get actionNamesInput(): string[] | undefined; private _additionalPoliciesJson?; get additionalPoliciesJson(): string[]; set additionalPoliciesJson(value: string[]); resetAdditionalPoliciesJson(): void; get additionalPoliciesJsonInput(): string[] | undefined; get allAllowed(): cdktf.IResolvable; private _callerArn?; get callerArn(): string; set callerArn(value: string); resetCallerArn(): void; get callerArnInput(): string | undefined; get id(): string; private _permissionsBoundaryPoliciesJson?; get permissionsBoundaryPoliciesJson(): string[]; set permissionsBoundaryPoliciesJson(value: string[]); resetPermissionsBoundaryPoliciesJson(): void; get permissionsBoundaryPoliciesJsonInput(): string[] | undefined; private _policySourceArn?; get policySourceArn(): string; set policySourceArn(value: string); get policySourceArnInput(): string | undefined; private _resourceArns?; get resourceArns(): string[]; set resourceArns(value: string[]); resetResourceArns(): void; get resourceArnsInput(): string[] | undefined; private _resourceHandlingOption?; get resourceHandlingOption(): string; set resourceHandlingOption(value: string); resetResourceHandlingOption(): void; get resourceHandlingOptionInput(): string | undefined; private _resourceOwnerAccountId?; get resourceOwnerAccountId(): string; set resourceOwnerAccountId(value: string); resetResourceOwnerAccountId(): void; get resourceOwnerAccountIdInput(): string | undefined; private _resourcePolicyJson?; get resourcePolicyJson(): string; set resourcePolicyJson(value: string); resetResourcePolicyJson(): void; get resourcePolicyJsonInput(): string | undefined; private _results; get results(): DataAwsIamPrincipalPolicySimulationResultsList; private _context; get context(): DataAwsIamPrincipalPolicySimulationContextList; putContext(value: DataAwsIamPrincipalPolicySimulationContext[] | cdktf.IResolvable): void; resetContext(): void; get contextInput(): cdktf.IResolvable | DataAwsIamPrincipalPolicySimulationContext[] | undefined; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }