package awscdkiotactionsalpha import ( "github.com/aws/aws-cdk-go/awscdk/v2/awsiam" "github.com/aws/aws-cdk-go/awscdk/v2/awss3" ) // Configuration properties of an action for s3. // // Example: // bucket := s3.NewBucket(this, jsii.String("MyBucket")) // // iot.NewTopicRule(this, jsii.String("TopicRule"), &TopicRuleProps{ // Sql: iot.IotSql_FromStringAsVer20160323(jsii.String("SELECT topic(2) as device_id, year, month, day FROM 'device/+/data'")), // Actions: []iAction{ // actions.NewS3PutObjectAction(bucket, &S3PutObjectActionProps{ // Key: jsii.String("${year}/${month}/${day}/${topic(2)}"), // }), // }, // }) // // Experimental. type S3PutObjectActionProps struct { // The IAM role that allows access to AWS service. // Experimental. Role awsiam.IRole `field:"optional" json:"role" yaml:"role"` // The Amazon S3 canned ACL that controls access to the object identified by the object key. // See: https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html#canned-acl // // Experimental. AccessControl awss3.BucketAccessControl `field:"optional" json:"accessControl" yaml:"accessControl"` // The path to the file where the data is written. // // Supports substitution templates. // See: https://docs.aws.amazon.com/iot/latest/developerguide/iot-substitution-templates.html // // Experimental. Key *string `field:"optional" json:"key" yaml:"key"` }