Documentation ¶
Index ¶
- func CfnDataLakeSettings_CFN_RESOURCE_TYPE_NAME() *string
- func CfnDataLakeSettings_IsCfnElement(x interface{}) *bool
- func CfnDataLakeSettings_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnDataLakeSettings_IsConstruct(x interface{}) *bool
- func CfnPermissions_CFN_RESOURCE_TYPE_NAME() *string
- func CfnPermissions_IsCfnElement(x interface{}) *bool
- func CfnPermissions_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnPermissions_IsConstruct(x interface{}) *bool
- func CfnResource_CFN_RESOURCE_TYPE_NAME() *string
- func CfnResource_IsCfnElement(x interface{}) *bool
- func CfnResource_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnResource_IsConstruct(x interface{}) *bool
- func NewCfnDataLakeSettings_Override(c CfnDataLakeSettings, scope constructs.Construct, id *string, ...)
- func NewCfnPermissions_Override(c CfnPermissions, scope constructs.Construct, id *string, ...)
- func NewCfnResource_Override(c CfnResource, scope constructs.Construct, id *string, props *CfnResourceProps)
- type CfnDataLakeSettings
- type CfnDataLakeSettingsProps
- type CfnDataLakeSettings_DataLakePrincipalProperty
- type CfnPermissions
- type CfnPermissionsProps
- type CfnPermissions_ColumnWildcardProperty
- type CfnPermissions_DataLakePrincipalProperty
- type CfnPermissions_DataLocationResourceProperty
- type CfnPermissions_DatabaseResourceProperty
- type CfnPermissions_ResourceProperty
- type CfnPermissions_TableResourceProperty
- type CfnPermissions_TableWildcardProperty
- type CfnPermissions_TableWithColumnsResourceProperty
- type CfnResource
- type CfnResourceProps
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CfnDataLakeSettings_CFN_RESOURCE_TYPE_NAME ¶
func CfnDataLakeSettings_CFN_RESOURCE_TYPE_NAME() *string
func CfnDataLakeSettings_IsCfnElement ¶
func CfnDataLakeSettings_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element.
func CfnDataLakeSettings_IsCfnResource ¶
func CfnDataLakeSettings_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
func CfnDataLakeSettings_IsConstruct ¶
func CfnDataLakeSettings_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func CfnPermissions_CFN_RESOURCE_TYPE_NAME ¶
func CfnPermissions_CFN_RESOURCE_TYPE_NAME() *string
func CfnPermissions_IsCfnElement ¶
func CfnPermissions_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element.
func CfnPermissions_IsCfnResource ¶
func CfnPermissions_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
func CfnPermissions_IsConstruct ¶
func CfnPermissions_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func CfnResource_CFN_RESOURCE_TYPE_NAME ¶
func CfnResource_CFN_RESOURCE_TYPE_NAME() *string
func CfnResource_IsCfnElement ¶
func CfnResource_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element.
func CfnResource_IsCfnResource ¶
func CfnResource_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
func CfnResource_IsConstruct ¶
func CfnResource_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func NewCfnDataLakeSettings_Override ¶
func NewCfnDataLakeSettings_Override(c CfnDataLakeSettings, scope constructs.Construct, id *string, props *CfnDataLakeSettingsProps)
Create a new `AWS::LakeFormation::DataLakeSettings`.
func NewCfnPermissions_Override ¶
func NewCfnPermissions_Override(c CfnPermissions, scope constructs.Construct, id *string, props *CfnPermissionsProps)
Create a new `AWS::LakeFormation::Permissions`.
func NewCfnResource_Override ¶
func NewCfnResource_Override(c CfnResource, scope constructs.Construct, id *string, props *CfnResourceProps)
Create a new `AWS::LakeFormation::Resource`.
Types ¶
type CfnDataLakeSettings ¶
type CfnDataLakeSettings interface { awscdk.CfnResource awscdk.IInspectable // A list of AWS Lake Formation principals. Admins() interface{} SetAdmins(val interface{}) // Options for this resource, such as condition, update policy etc. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. CfnResourceType() *string // Returns: the stack trace of the point where this Resource was created from, sourced // from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most // node +internal+ entries filtered. CreationStack() *[]*string // The logical ID for this CloudFormation stack element. // // The logical ID of the element // is calculated from the path of the resource node in the construct tree. // // To override this value, use `overrideLogicalId(newLogicalId)`. // // Returns: the logical ID as a stringified token. This value will only get // resolved during synthesis. LogicalId() *string // The tree node. Node() constructs.Node // Return a string that will be resolved to a CloudFormation `{ Ref }` for this element. // // If, by any chance, the intrinsic reference of a resource is not a string, you could // coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`. Ref() *string // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). Stack() awscdk.Stack // `AWS::LakeFormation::DataLakeSettings.TrustedResourceOwners`. TrustedResourceOwners() *[]*string SetTrustedResourceOwners(val *[]*string) // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperites() *map[string]interface{} // Syntactic sugar for `addOverride(path, undefined)`. AddDeletionOverride(path *string) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // // This can be used for resources across stacks (or nested stack) boundaries // and the dependency will automatically be transferred to the relevant scope. AddDependsOn(target awscdk.CfnResource) // Add a value to the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // AddMetadata(key *string, value interface{}) // Adds an override to the synthesized CloudFormation resource. // // To add a // property override, either use `addPropertyOverride` or prefix `path` with // "Properties." (i.e. `Properties.TopicName`). // // If the override is nested, separate each nested level using a dot (.) in the path parameter. // If there is an array as part of the nesting, specify the index in the path. // // To include a literal `.` in the property name, prefix with a `\`. In most // programming languages you will need to write this as `"\\."` because the // `\` itself will need to be escaped. // // For example, // “`typescript // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']); // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE'); // “` // would add the overrides // “`json // "Properties": { // "GlobalSecondaryIndexes": [ // { // "Projection": { // "NonKeyAttributes": [ "myattribute" ] // ... // } // ... // }, // { // "ProjectionType": "INCLUDE" // ... // }, // ] // ... // } // “` // // The `value` argument to `addOverride` will not be processed or translated // in any way. Pass raw JSON values in here with the correct capitalization // for CloudFormation. If you pass CDK classes or structs, they will be // rendered with lowercased key names, and CloudFormation will reject the // template. AddOverride(path *string, value interface{}) // Adds an override that deletes the value of a property from the resource definition. AddPropertyDeletionOverride(propertyPath *string) // Adds an override to a resource property. // // Syntactic sugar for `addOverride("Properties.<...>", value)`. AddPropertyOverride(propertyPath *string, value interface{}) // Sets the deletion policy of the resource based on the removal policy specified. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some // cases, a snapshot can be taken of the resource prior to deletion // (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy // can be found in the following link:. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options // ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) // Returns a token for an runtime attribute of this resource. // // Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility // in case there is no generated attribute. GetAtt(attributeName *string) awscdk.Reference // Retrieve a value value from the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // GetMetadata(key *string) interface{} // Examines the CloudFormation resource and discloses attributes. Inspect(inspector awscdk.TreeInspector) // Overrides the auto-generated logical ID with a specific ID. OverrideLogicalId(newLogicalId *string) RenderProperties(props *map[string]interface{}) *map[string]interface{} // Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template. // // Returns: `true` if the resource should be included or `false` is the resource // should be omitted. ShouldSynthesize() *bool // Returns a string representation of this construct. // // Returns: a string representation of this resource. ToString() *string ValidateProperties(_properties interface{}) }
A CloudFormation `AWS::LakeFormation::DataLakeSettings`.
The `AWS::LakeFormation::DataLakeSettings` resource is an AWS Lake Formation resource type that manages the data lake settings for your account. Note that the CloudFormation template only supports updating the `Admins` list. It does not support updating the [CreateDatabaseDefaultPermissions](https://docs.aws.amazon.com/lake-formation/latest/dg/aws-lake-formation-api-aws-lake-formation-api-settings.html#aws-lake-formation-api-aws-lake-formation-api-settings-DataLakeSettings) or [CreateTableDefaultPermissions](https://docs.aws.amazon.com/lake-formation/latest/dg/aws-lake-formation-api-aws-lake-formation-api-settings.html#aws-lake-formation-api-aws-lake-formation-api-settings-DataLakeSettings) . Those permissions can only be edited in the DataLakeSettings resource via the API.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnDataLakeSettings := awscdk.Aws_lakeformation.NewCfnDataLakeSettings(this, jsii.String("MyCfnDataLakeSettings"), &cfnDataLakeSettingsProps{ admins: []interface{}{ &dataLakePrincipalProperty{ dataLakePrincipalIdentifier: jsii.String("dataLakePrincipalIdentifier"), }, }, trustedResourceOwners: []*string{ jsii.String("trustedResourceOwners"), }, })
func NewCfnDataLakeSettings ¶
func NewCfnDataLakeSettings(scope constructs.Construct, id *string, props *CfnDataLakeSettingsProps) CfnDataLakeSettings
Create a new `AWS::LakeFormation::DataLakeSettings`.
type CfnDataLakeSettingsProps ¶
type CfnDataLakeSettingsProps struct { // A list of AWS Lake Formation principals. Admins interface{} `field:"optional" json:"admins" yaml:"admins"` // `AWS::LakeFormation::DataLakeSettings.TrustedResourceOwners`. TrustedResourceOwners *[]*string `field:"optional" json:"trustedResourceOwners" yaml:"trustedResourceOwners"` }
Properties for defining a `CfnDataLakeSettings`.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnDataLakeSettingsProps := &cfnDataLakeSettingsProps{ admins: []interface{}{ &dataLakePrincipalProperty{ dataLakePrincipalIdentifier: jsii.String("dataLakePrincipalIdentifier"), }, }, trustedResourceOwners: []*string{ jsii.String("trustedResourceOwners"), }, }
type CfnDataLakeSettings_DataLakePrincipalProperty ¶
type CfnDataLakeSettings_DataLakePrincipalProperty struct { // An identifier for the Lake Formation principal. DataLakePrincipalIdentifier *string `field:"optional" json:"dataLakePrincipalIdentifier" yaml:"dataLakePrincipalIdentifier"` }
The Lake Formation principal.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" dataLakePrincipalProperty := &dataLakePrincipalProperty{ dataLakePrincipalIdentifier: jsii.String("dataLakePrincipalIdentifier"), }
type CfnPermissions ¶
type CfnPermissions interface { awscdk.CfnResource awscdk.IInspectable // Options for this resource, such as condition, update policy etc. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. CfnResourceType() *string // Returns: the stack trace of the point where this Resource was created from, sourced // from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most // node +internal+ entries filtered. CreationStack() *[]*string // The AWS Lake Formation principal. DataLakePrincipal() interface{} SetDataLakePrincipal(val interface{}) // The logical ID for this CloudFormation stack element. // // The logical ID of the element // is calculated from the path of the resource node in the construct tree. // // To override this value, use `overrideLogicalId(newLogicalId)`. // // Returns: the logical ID as a stringified token. This value will only get // resolved during synthesis. LogicalId() *string // The tree node. Node() constructs.Node // The permissions granted or revoked. Permissions() *[]*string SetPermissions(val *[]*string) // Indicates whether to grant the ability to grant permissions (as a subset of permissions granted). PermissionsWithGrantOption() *[]*string SetPermissionsWithGrantOption(val *[]*string) // Return a string that will be resolved to a CloudFormation `{ Ref }` for this element. // // If, by any chance, the intrinsic reference of a resource is not a string, you could // coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`. Ref() *string // A structure for the resource. Resource() interface{} SetResource(val interface{}) // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). Stack() awscdk.Stack // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperites() *map[string]interface{} // Syntactic sugar for `addOverride(path, undefined)`. AddDeletionOverride(path *string) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // // This can be used for resources across stacks (or nested stack) boundaries // and the dependency will automatically be transferred to the relevant scope. AddDependsOn(target awscdk.CfnResource) // Add a value to the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // AddMetadata(key *string, value interface{}) // Adds an override to the synthesized CloudFormation resource. // // To add a // property override, either use `addPropertyOverride` or prefix `path` with // "Properties." (i.e. `Properties.TopicName`). // // If the override is nested, separate each nested level using a dot (.) in the path parameter. // If there is an array as part of the nesting, specify the index in the path. // // To include a literal `.` in the property name, prefix with a `\`. In most // programming languages you will need to write this as `"\\."` because the // `\` itself will need to be escaped. // // For example, // “`typescript // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']); // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE'); // “` // would add the overrides // “`json // "Properties": { // "GlobalSecondaryIndexes": [ // { // "Projection": { // "NonKeyAttributes": [ "myattribute" ] // ... // } // ... // }, // { // "ProjectionType": "INCLUDE" // ... // }, // ] // ... // } // “` // // The `value` argument to `addOverride` will not be processed or translated // in any way. Pass raw JSON values in here with the correct capitalization // for CloudFormation. If you pass CDK classes or structs, they will be // rendered with lowercased key names, and CloudFormation will reject the // template. AddOverride(path *string, value interface{}) // Adds an override that deletes the value of a property from the resource definition. AddPropertyDeletionOverride(propertyPath *string) // Adds an override to a resource property. // // Syntactic sugar for `addOverride("Properties.<...>", value)`. AddPropertyOverride(propertyPath *string, value interface{}) // Sets the deletion policy of the resource based on the removal policy specified. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some // cases, a snapshot can be taken of the resource prior to deletion // (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy // can be found in the following link:. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options // ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) // Returns a token for an runtime attribute of this resource. // // Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility // in case there is no generated attribute. GetAtt(attributeName *string) awscdk.Reference // Retrieve a value value from the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // GetMetadata(key *string) interface{} // Examines the CloudFormation resource and discloses attributes. Inspect(inspector awscdk.TreeInspector) // Overrides the auto-generated logical ID with a specific ID. OverrideLogicalId(newLogicalId *string) RenderProperties(props *map[string]interface{}) *map[string]interface{} // Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template. // // Returns: `true` if the resource should be included or `false` is the resource // should be omitted. ShouldSynthesize() *bool // Returns a string representation of this construct. // // Returns: a string representation of this resource. ToString() *string ValidateProperties(_properties interface{}) }
A CloudFormation `AWS::LakeFormation::Permissions`.
The `AWS::LakeFormation::Permissions` resource represents the permissions that a principal has on an AWS Glue Data Catalog resource (such as AWS Glue database or AWS Glue tables). When you upload a permissions stack, the permissions are granted to the principal and when you remove the stack, the permissions are revoked from the principal. If you remove a stack, and the principal does not have the permissions referenced in the stack then AWS Lake Formation will throw an error because you can’t call revoke on non-existing permissions. To successfully remove the stack, you’ll need to regrant those permissions and then remove the stack.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnPermissions := awscdk.Aws_lakeformation.NewCfnPermissions(this, jsii.String("MyCfnPermissions"), &cfnPermissionsProps{ dataLakePrincipal: &dataLakePrincipalProperty{ dataLakePrincipalIdentifier: jsii.String("dataLakePrincipalIdentifier"), }, resource: &resourceProperty{ databaseResource: &databaseResourceProperty{ catalogId: jsii.String("catalogId"), name: jsii.String("name"), }, dataLocationResource: &dataLocationResourceProperty{ catalogId: jsii.String("catalogId"), s3Resource: jsii.String("s3Resource"), }, tableResource: &tableResourceProperty{ catalogId: jsii.String("catalogId"), databaseName: jsii.String("databaseName"), name: jsii.String("name"), tableWildcard: &tableWildcardProperty{ }, }, tableWithColumnsResource: &tableWithColumnsResourceProperty{ catalogId: jsii.String("catalogId"), columnNames: []*string{ jsii.String("columnNames"), }, columnWildcard: &columnWildcardProperty{ excludedColumnNames: []*string{ jsii.String("excludedColumnNames"), }, }, databaseName: jsii.String("databaseName"), name: jsii.String("name"), }, }, // the properties below are optional permissions: []*string{ jsii.String("permissions"), }, permissionsWithGrantOption: []*string{ jsii.String("permissionsWithGrantOption"), }, })
func NewCfnPermissions ¶
func NewCfnPermissions(scope constructs.Construct, id *string, props *CfnPermissionsProps) CfnPermissions
Create a new `AWS::LakeFormation::Permissions`.
type CfnPermissionsProps ¶
type CfnPermissionsProps struct { // The AWS Lake Formation principal. DataLakePrincipal interface{} `field:"required" json:"dataLakePrincipal" yaml:"dataLakePrincipal"` // A structure for the resource. Resource interface{} `field:"required" json:"resource" yaml:"resource"` // The permissions granted or revoked. Permissions *[]*string `field:"optional" json:"permissions" yaml:"permissions"` // Indicates whether to grant the ability to grant permissions (as a subset of permissions granted). PermissionsWithGrantOption *[]*string `field:"optional" json:"permissionsWithGrantOption" yaml:"permissionsWithGrantOption"` }
Properties for defining a `CfnPermissions`.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnPermissionsProps := &cfnPermissionsProps{ dataLakePrincipal: &dataLakePrincipalProperty{ dataLakePrincipalIdentifier: jsii.String("dataLakePrincipalIdentifier"), }, resource: &resourceProperty{ databaseResource: &databaseResourceProperty{ catalogId: jsii.String("catalogId"), name: jsii.String("name"), }, dataLocationResource: &dataLocationResourceProperty{ catalogId: jsii.String("catalogId"), s3Resource: jsii.String("s3Resource"), }, tableResource: &tableResourceProperty{ catalogId: jsii.String("catalogId"), databaseName: jsii.String("databaseName"), name: jsii.String("name"), tableWildcard: &tableWildcardProperty{ }, }, tableWithColumnsResource: &tableWithColumnsResourceProperty{ catalogId: jsii.String("catalogId"), columnNames: []*string{ jsii.String("columnNames"), }, columnWildcard: &columnWildcardProperty{ excludedColumnNames: []*string{ jsii.String("excludedColumnNames"), }, }, databaseName: jsii.String("databaseName"), name: jsii.String("name"), }, }, // the properties below are optional permissions: []*string{ jsii.String("permissions"), }, permissionsWithGrantOption: []*string{ jsii.String("permissionsWithGrantOption"), }, }
type CfnPermissions_ColumnWildcardProperty ¶
type CfnPermissions_ColumnWildcardProperty struct { // Excludes column names. // // Any column with this name will be excluded. ExcludedColumnNames *[]*string `field:"optional" json:"excludedColumnNames" yaml:"excludedColumnNames"` }
A wildcard object, consisting of an optional list of excluded column names or indexes.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" columnWildcardProperty := &columnWildcardProperty{ excludedColumnNames: []*string{ jsii.String("excludedColumnNames"), }, }
type CfnPermissions_DataLakePrincipalProperty ¶
type CfnPermissions_DataLakePrincipalProperty struct { // An identifier for the Lake Formation principal. DataLakePrincipalIdentifier *string `field:"optional" json:"dataLakePrincipalIdentifier" yaml:"dataLakePrincipalIdentifier"` }
The Lake Formation principal.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" dataLakePrincipalProperty := &dataLakePrincipalProperty{ dataLakePrincipalIdentifier: jsii.String("dataLakePrincipalIdentifier"), }
type CfnPermissions_DataLocationResourceProperty ¶
type CfnPermissions_DataLocationResourceProperty struct { // `CfnPermissions.DataLocationResourceProperty.CatalogId`. CatalogId *string `field:"optional" json:"catalogId" yaml:"catalogId"` // Currently not supported by AWS CloudFormation . S3Resource *string `field:"optional" json:"s3Resource" yaml:"s3Resource"` }
A structure for a data location object where permissions are granted or revoked.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" dataLocationResourceProperty := &dataLocationResourceProperty{ catalogId: jsii.String("catalogId"), s3Resource: jsii.String("s3Resource"), }
type CfnPermissions_DatabaseResourceProperty ¶
type CfnPermissions_DatabaseResourceProperty struct { // `CfnPermissions.DatabaseResourceProperty.CatalogId`. CatalogId *string `field:"optional" json:"catalogId" yaml:"catalogId"` // The name of the database resource. // // Unique to the Data Catalog. Name *string `field:"optional" json:"name" yaml:"name"` }
A structure for the database object.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" databaseResourceProperty := &databaseResourceProperty{ catalogId: jsii.String("catalogId"), name: jsii.String("name"), }
type CfnPermissions_ResourceProperty ¶
type CfnPermissions_ResourceProperty struct { // A structure for the database object. DatabaseResource interface{} `field:"optional" json:"databaseResource" yaml:"databaseResource"` // A structure for a data location object where permissions are granted or revoked. DataLocationResource interface{} `field:"optional" json:"dataLocationResource" yaml:"dataLocationResource"` // A structure for the table object. // // A table is a metadata definition that represents your data. You can Grant and Revoke table privileges to a principal. TableResource interface{} `field:"optional" json:"tableResource" yaml:"tableResource"` // Currently not supported by AWS CloudFormation . TableWithColumnsResource interface{} `field:"optional" json:"tableWithColumnsResource" yaml:"tableWithColumnsResource"` }
A structure for the resource.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" resourceProperty := &resourceProperty{ databaseResource: &databaseResourceProperty{ catalogId: jsii.String("catalogId"), name: jsii.String("name"), }, dataLocationResource: &dataLocationResourceProperty{ catalogId: jsii.String("catalogId"), s3Resource: jsii.String("s3Resource"), }, tableResource: &tableResourceProperty{ catalogId: jsii.String("catalogId"), databaseName: jsii.String("databaseName"), name: jsii.String("name"), tableWildcard: &tableWildcardProperty{ }, }, tableWithColumnsResource: &tableWithColumnsResourceProperty{ catalogId: jsii.String("catalogId"), columnNames: []*string{ jsii.String("columnNames"), }, columnWildcard: &columnWildcardProperty{ excludedColumnNames: []*string{ jsii.String("excludedColumnNames"), }, }, databaseName: jsii.String("databaseName"), name: jsii.String("name"), }, }
type CfnPermissions_TableResourceProperty ¶
type CfnPermissions_TableResourceProperty struct { // `CfnPermissions.TableResourceProperty.CatalogId`. CatalogId *string `field:"optional" json:"catalogId" yaml:"catalogId"` // The name of the database for the table. // // Unique to a Data Catalog. A database is a set of associated table definitions organized into a logical group. You can Grant and Revoke database privileges to a principal. DatabaseName *string `field:"optional" json:"databaseName" yaml:"databaseName"` // The name of the table. Name *string `field:"optional" json:"name" yaml:"name"` // An empty object representing all tables under a database. // // If this field is specified instead of the `Name` field, all tables under `DatabaseName` will have permission changes applied. TableWildcard interface{} `field:"optional" json:"tableWildcard" yaml:"tableWildcard"` }
A structure for the table object.
A table is a metadata definition that represents your data. You can Grant and Revoke table privileges to a principal.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" tableResourceProperty := &tableResourceProperty{ catalogId: jsii.String("catalogId"), databaseName: jsii.String("databaseName"), name: jsii.String("name"), tableWildcard: &tableWildcardProperty{ }, }
type CfnPermissions_TableWildcardProperty ¶
type CfnPermissions_TableWildcardProperty struct { }
A wildcard object representing every table under a database.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" tableWildcardProperty := &tableWildcardProperty{ }
type CfnPermissions_TableWithColumnsResourceProperty ¶
type CfnPermissions_TableWithColumnsResourceProperty struct { // `CfnPermissions.TableWithColumnsResourceProperty.CatalogId`. CatalogId *string `field:"optional" json:"catalogId" yaml:"catalogId"` // The list of column names for the table. // // At least one of `ColumnNames` or `ColumnWildcard` is required. ColumnNames *[]*string `field:"optional" json:"columnNames" yaml:"columnNames"` // A wildcard specified by a `ColumnWildcard` object. // // At least one of `ColumnNames` or `ColumnWildcard` is required. ColumnWildcard interface{} `field:"optional" json:"columnWildcard" yaml:"columnWildcard"` // The name of the database for the table with columns resource. // // Unique to the Data Catalog. A database is a set of associated table definitions organized into a logical group. You can Grant and Revoke database privileges to a principal. DatabaseName *string `field:"optional" json:"databaseName" yaml:"databaseName"` // The name of the table resource. // // A table is a metadata definition that represents your data. You can Grant and Revoke table privileges to a principal. Name *string `field:"optional" json:"name" yaml:"name"` }
A structure for a table with columns object. This object is only used when granting a SELECT permission.
This object must take a value for at least one of `ColumnsNames` , `ColumnsIndexes` , or `ColumnsWildcard` .
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" tableWithColumnsResourceProperty := &tableWithColumnsResourceProperty{ catalogId: jsii.String("catalogId"), columnNames: []*string{ jsii.String("columnNames"), }, columnWildcard: &columnWildcardProperty{ excludedColumnNames: []*string{ jsii.String("excludedColumnNames"), }, }, databaseName: jsii.String("databaseName"), name: jsii.String("name"), }
type CfnResource ¶
type CfnResource interface { awscdk.CfnResource awscdk.IInspectable // Options for this resource, such as condition, update policy etc. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. CfnResourceType() *string // Returns: the stack trace of the point where this Resource was created from, sourced // from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most // node +internal+ entries filtered. CreationStack() *[]*string // The logical ID for this CloudFormation stack element. // // The logical ID of the element // is calculated from the path of the resource node in the construct tree. // // To override this value, use `overrideLogicalId(newLogicalId)`. // // Returns: the logical ID as a stringified token. This value will only get // resolved during synthesis. LogicalId() *string // The tree node. Node() constructs.Node // Return a string that will be resolved to a CloudFormation `{ Ref }` for this element. // // If, by any chance, the intrinsic reference of a resource is not a string, you could // coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`. Ref() *string // The Amazon Resource Name (ARN) of the resource. ResourceArn() *string SetResourceArn(val *string) // The IAM role that registered a resource. RoleArn() *string SetRoleArn(val *string) // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). Stack() awscdk.Stack // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperites() *map[string]interface{} // Designates a trusted caller, an IAM principal, by registering this caller with the Data Catalog. UseServiceLinkedRole() interface{} SetUseServiceLinkedRole(val interface{}) // Syntactic sugar for `addOverride(path, undefined)`. AddDeletionOverride(path *string) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // // This can be used for resources across stacks (or nested stack) boundaries // and the dependency will automatically be transferred to the relevant scope. AddDependsOn(target awscdk.CfnResource) // Add a value to the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // AddMetadata(key *string, value interface{}) // Adds an override to the synthesized CloudFormation resource. // // To add a // property override, either use `addPropertyOverride` or prefix `path` with // "Properties." (i.e. `Properties.TopicName`). // // If the override is nested, separate each nested level using a dot (.) in the path parameter. // If there is an array as part of the nesting, specify the index in the path. // // To include a literal `.` in the property name, prefix with a `\`. In most // programming languages you will need to write this as `"\\."` because the // `\` itself will need to be escaped. // // For example, // “`typescript // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']); // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE'); // “` // would add the overrides // “`json // "Properties": { // "GlobalSecondaryIndexes": [ // { // "Projection": { // "NonKeyAttributes": [ "myattribute" ] // ... // } // ... // }, // { // "ProjectionType": "INCLUDE" // ... // }, // ] // ... // } // “` // // The `value` argument to `addOverride` will not be processed or translated // in any way. Pass raw JSON values in here with the correct capitalization // for CloudFormation. If you pass CDK classes or structs, they will be // rendered with lowercased key names, and CloudFormation will reject the // template. AddOverride(path *string, value interface{}) // Adds an override that deletes the value of a property from the resource definition. AddPropertyDeletionOverride(propertyPath *string) // Adds an override to a resource property. // // Syntactic sugar for `addOverride("Properties.<...>", value)`. AddPropertyOverride(propertyPath *string, value interface{}) // Sets the deletion policy of the resource based on the removal policy specified. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some // cases, a snapshot can be taken of the resource prior to deletion // (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy // can be found in the following link:. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options // ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) // Returns a token for an runtime attribute of this resource. // // Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility // in case there is no generated attribute. GetAtt(attributeName *string) awscdk.Reference // Retrieve a value value from the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // GetMetadata(key *string) interface{} // Examines the CloudFormation resource and discloses attributes. Inspect(inspector awscdk.TreeInspector) // Overrides the auto-generated logical ID with a specific ID. OverrideLogicalId(newLogicalId *string) RenderProperties(props *map[string]interface{}) *map[string]interface{} // Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template. // // Returns: `true` if the resource should be included or `false` is the resource // should be omitted. ShouldSynthesize() *bool // Returns a string representation of this construct. // // Returns: a string representation of this resource. ToString() *string ValidateProperties(_properties interface{}) }
A CloudFormation `AWS::LakeFormation::Resource`.
The `AWS::LakeFormation::Resource` represents the data (Amazon S3 buckets and folders) that is being registered with AWS Lake Formation . When a `Resource` type CloudFormation template is uploaded, an AWS Lake Formation [`RegisterResource`](https://docs.aws.amazon.com/lake-formation/latest/dg/aws-lake-formation-api-credential-vending.html#aws-lake-formation-api-credential-vending-RegisterResource) API call is made to register the resource. When a `Resource` type CloudFormation template is removed, the AWS Lake Formation [`DeregisterResource`](https://docs.aws.amazon.com/lake-formation/latest/dg/aws-lake-formation-api-credential-vending.html#aws-lake-formation-api-credential-vending-DeregisterResource) API is called.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnResource := awscdk.Aws_lakeformation.NewCfnResource(this, jsii.String("MyCfnResource"), &cfnResourceProps{ resourceArn: jsii.String("resourceArn"), useServiceLinkedRole: jsii.Boolean(false), // the properties below are optional roleArn: jsii.String("roleArn"), })
func NewCfnResource ¶
func NewCfnResource(scope constructs.Construct, id *string, props *CfnResourceProps) CfnResource
Create a new `AWS::LakeFormation::Resource`.
type CfnResourceProps ¶
type CfnResourceProps struct { // The Amazon Resource Name (ARN) of the resource. ResourceArn *string `field:"required" json:"resourceArn" yaml:"resourceArn"` // Designates a trusted caller, an IAM principal, by registering this caller with the Data Catalog. UseServiceLinkedRole interface{} `field:"required" json:"useServiceLinkedRole" yaml:"useServiceLinkedRole"` // The IAM role that registered a resource. RoleArn *string `field:"optional" json:"roleArn" yaml:"roleArn"` }
Properties for defining a `CfnResource`.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnResourceProps := &cfnResourceProps{ resourceArn: jsii.String("resourceArn"), useServiceLinkedRole: jsii.Boolean(false), // the properties below are optional roleArn: jsii.String("roleArn"), }