github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/rds/clusterInstance.go (about) 1 // Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. 2 // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** 3 4 package rds 5 6 import ( 7 "context" 8 "reflect" 9 10 "errors" 11 "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/internal" 12 "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 13 ) 14 15 // Provides an RDS Cluster Instance Resource. A Cluster Instance Resource defines 16 // attributes that are specific to a single instance in a RDS Cluster, 17 // specifically running Amazon Aurora. 18 // 19 // Unlike other RDS resources that support replication, with Amazon Aurora you do 20 // not designate a primary and subsequent replicas. Instead, you simply add RDS 21 // Instances and Aurora manages the replication. You can use the [count][5] 22 // meta-parameter to make multiple instances and join them all to the same RDS 23 // Cluster, or you may specify different Cluster Instance resources with various 24 // `instanceClass` sizes. 25 // 26 // For more information on Amazon Aurora, see [Aurora on Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Aurora.html) in the Amazon RDS User Guide. 27 // 28 // > **NOTE:** Deletion Protection from the RDS service can only be enabled at the cluster level, not for individual cluster instances. You can still add the [`protect` CustomResourceOption](https://www.pulumi.com/docs/intro/concepts/programming-model/#protect) to this resource configuration if you desire protection from accidental deletion. 29 // 30 // > **NOTE:** `aurora` is no longer a valid `engine` because of [Amazon Aurora's MySQL-Compatible Edition version 1 end of life](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.MySQL56.EOL.html). 31 // 32 // ## Example Usage 33 // 34 // <!--Start PulumiCodeChooser --> 35 // ```go 36 // package main 37 // 38 // import ( 39 // 40 // "fmt" 41 // 42 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds" 43 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 44 // 45 // ) 46 // 47 // func main() { 48 // pulumi.Run(func(ctx *pulumi.Context) error { 49 // _, err := rds.NewCluster(ctx, "default", &rds.ClusterArgs{ 50 // ClusterIdentifier: pulumi.String("aurora-cluster-demo"), 51 // AvailabilityZones: pulumi.StringArray{ 52 // pulumi.String("us-west-2a"), 53 // pulumi.String("us-west-2b"), 54 // pulumi.String("us-west-2c"), 55 // }, 56 // DatabaseName: pulumi.String("mydb"), 57 // MasterUsername: pulumi.String("foo"), 58 // MasterPassword: pulumi.String("barbut8chars"), 59 // }) 60 // if err != nil { 61 // return err 62 // } 63 // var clusterInstances []*rds.ClusterInstance 64 // for index := 0; index < 2; index++ { 65 // key0 := index 66 // val0 := index 67 // __res, err := rds.NewClusterInstance(ctx, fmt.Sprintf("cluster_instances-%v", key0), &rds.ClusterInstanceArgs{ 68 // Identifier: pulumi.String(fmt.Sprintf("aurora-cluster-demo-%v", val0)), 69 // ClusterIdentifier: _default.ID(), 70 // InstanceClass: pulumi.String(rds.InstanceType_R4_Large), 71 // Engine: _default.Engine, 72 // EngineVersion: _default.EngineVersion, 73 // }) 74 // if err != nil { 75 // return err 76 // } 77 // clusterInstances = append(clusterInstances, __res) 78 // } 79 // return nil 80 // }) 81 // } 82 // 83 // ``` 84 // <!--End PulumiCodeChooser --> 85 // 86 // ## Import 87 // 88 // Using `pulumi import`, import RDS Cluster Instances using the `identifier`. For example: 89 // 90 // ```sh 91 // $ pulumi import aws:rds/clusterInstance:ClusterInstance prod_instance_1 aurora-cluster-instance-1 92 // ``` 93 type ClusterInstance struct { 94 pulumi.CustomResourceState 95 96 // Specifies whether any database modifications are applied immediately, or during the next maintenance window. Default is`false`. 97 ApplyImmediately pulumi.BoolOutput `pulumi:"applyImmediately"` 98 // Amazon Resource Name (ARN) of cluster instance 99 Arn pulumi.StringOutput `pulumi:"arn"` 100 // Indicates that minor engine upgrades will be applied automatically to the DB instance during the maintenance window. Default `true`. 101 AutoMinorVersionUpgrade pulumi.BoolPtrOutput `pulumi:"autoMinorVersionUpgrade"` 102 // EC2 Availability Zone that the DB instance is created in. See [docs](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html) about the details. 103 AvailabilityZone pulumi.StringOutput `pulumi:"availabilityZone"` 104 // Identifier of the CA certificate for the DB instance. 105 CaCertIdentifier pulumi.StringOutput `pulumi:"caCertIdentifier"` 106 // Identifier of the `rds.Cluster` in which to launch this instance. 107 ClusterIdentifier pulumi.StringOutput `pulumi:"clusterIdentifier"` 108 // Indicates whether to copy all of the user-defined tags from the DB instance to snapshots of the DB instance. Default `false`. 109 CopyTagsToSnapshot pulumi.BoolPtrOutput `pulumi:"copyTagsToSnapshot"` 110 // Instance profile associated with the underlying Amazon EC2 instance of an RDS Custom DB instance. 111 CustomIamInstanceProfile pulumi.StringPtrOutput `pulumi:"customIamInstanceProfile"` 112 // Name of the DB parameter group to associate with this instance. 113 DbParameterGroupName pulumi.StringOutput `pulumi:"dbParameterGroupName"` 114 // DB subnet group to associate with this DB instance. **NOTE:** This must match the `dbSubnetGroupName` of the attached `rds.Cluster`. 115 DbSubnetGroupName pulumi.StringOutput `pulumi:"dbSubnetGroupName"` 116 // Region-unique, immutable identifier for the DB instance. 117 DbiResourceId pulumi.StringOutput `pulumi:"dbiResourceId"` 118 // DNS address for this instance. May not be writable 119 Endpoint pulumi.StringOutput `pulumi:"endpoint"` 120 // Name of the database engine to be used for the RDS cluster instance. 121 // Valid Values: `aurora-mysql`, `aurora-postgresql`, `mysql`, `postgres`.(Note that `mysql` and `postgres` are Multi-AZ RDS clusters). 122 Engine pulumi.StringOutput `pulumi:"engine"` 123 // Database engine version. Please note that to upgrade the `engineVersion` of the instance, it must be done on the `rds.Cluster` `engineVersion`. Trying to upgrade in `awsClusterInstance` will not update the `engineVersion`. 124 EngineVersion pulumi.StringOutput `pulumi:"engineVersion"` 125 // Database engine version 126 EngineVersionActual pulumi.StringOutput `pulumi:"engineVersionActual"` 127 // Identifier for the RDS instance, if omitted, Pulumi will assign a random, unique identifier. 128 Identifier pulumi.StringOutput `pulumi:"identifier"` 129 // Creates a unique identifier beginning with the specified prefix. Conflicts with `identifier`. 130 IdentifierPrefix pulumi.StringOutput `pulumi:"identifierPrefix"` 131 // Instance class to use. For details on CPU and memory, see [Scaling Aurora DB Instances](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Aurora.Managing.html). Aurora uses `db.*` instance classes/types. Please see [AWS Documentation](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html) for currently available instance classes and complete details. 132 InstanceClass pulumi.StringOutput `pulumi:"instanceClass"` 133 // ARN for the KMS encryption key if one is set to the cluster. 134 KmsKeyId pulumi.StringOutput `pulumi:"kmsKeyId"` 135 // Interval, in seconds, between points when Enhanced Monitoring metrics are collected for the DB instance. To disable collecting Enhanced Monitoring metrics, specify 0. The default is 0. Valid Values: 0, 1, 5, 10, 15, 30, 60. 136 MonitoringInterval pulumi.IntPtrOutput `pulumi:"monitoringInterval"` 137 // ARN for the IAM role that permits RDS to send enhanced monitoring metrics to CloudWatch Logs. You can find more information on the [AWS Documentation](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Monitoring.html) what IAM permissions are needed to allow Enhanced Monitoring for RDS Instances. 138 MonitoringRoleArn pulumi.StringOutput `pulumi:"monitoringRoleArn"` 139 // Network type of the DB instance. 140 NetworkType pulumi.StringOutput `pulumi:"networkType"` 141 // Specifies whether Performance Insights is enabled or not. 142 PerformanceInsightsEnabled pulumi.BoolOutput `pulumi:"performanceInsightsEnabled"` 143 // ARN for the KMS key to encrypt Performance Insights data. When specifying `performanceInsightsKmsKeyId`, `performanceInsightsEnabled` needs to be set to true. 144 PerformanceInsightsKmsKeyId pulumi.StringOutput `pulumi:"performanceInsightsKmsKeyId"` 145 // Amount of time in days to retain Performance Insights data. Valid values are `7`, `731` (2 years) or a multiple of `31`. When specifying `performanceInsightsRetentionPeriod`, `performanceInsightsEnabled` needs to be set to true. Defaults to '7'. 146 PerformanceInsightsRetentionPeriod pulumi.IntOutput `pulumi:"performanceInsightsRetentionPeriod"` 147 // Database port 148 Port pulumi.IntOutput `pulumi:"port"` 149 // Daily time range during which automated backups are created if automated backups are enabled. Eg: "04:00-09:00". **NOTE:** If `preferredBackupWindow` is set at the cluster level, this argument **must** be omitted. 150 PreferredBackupWindow pulumi.StringOutput `pulumi:"preferredBackupWindow"` 151 // Window to perform maintenance in. Syntax: "ddd:hh24:mi-ddd:hh24:mi". Eg: "Mon:00:00-Mon:03:00". 152 PreferredMaintenanceWindow pulumi.StringOutput `pulumi:"preferredMaintenanceWindow"` 153 // Default 0. Failover Priority setting on instance level. The reader who has lower tier has higher priority to get promoted to writer. 154 PromotionTier pulumi.IntPtrOutput `pulumi:"promotionTier"` 155 // Bool to control if instance is publicly accessible. Default `false`. See the documentation on [Creating DB Instances](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html) for more details on controlling this property. 156 PubliclyAccessible pulumi.BoolOutput `pulumi:"publiclyAccessible"` 157 // Specifies whether the DB cluster is encrypted. 158 StorageEncrypted pulumi.BoolOutput `pulumi:"storageEncrypted"` 159 // Map of tags to assign to the instance. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 160 Tags pulumi.StringMapOutput `pulumi:"tags"` 161 // Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 162 // 163 // Deprecated: Please use `tags` instead. 164 TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"` 165 // Boolean indicating if this instance is writable. `False` indicates this instance is a read replica. 166 Writer pulumi.BoolOutput `pulumi:"writer"` 167 } 168 169 // NewClusterInstance registers a new resource with the given unique name, arguments, and options. 170 func NewClusterInstance(ctx *pulumi.Context, 171 name string, args *ClusterInstanceArgs, opts ...pulumi.ResourceOption) (*ClusterInstance, error) { 172 if args == nil { 173 return nil, errors.New("missing one or more required arguments") 174 } 175 176 if args.ClusterIdentifier == nil { 177 return nil, errors.New("invalid value for required argument 'ClusterIdentifier'") 178 } 179 if args.Engine == nil { 180 return nil, errors.New("invalid value for required argument 'Engine'") 181 } 182 if args.InstanceClass == nil { 183 return nil, errors.New("invalid value for required argument 'InstanceClass'") 184 } 185 opts = internal.PkgResourceDefaultOpts(opts) 186 var resource ClusterInstance 187 err := ctx.RegisterResource("aws:rds/clusterInstance:ClusterInstance", name, args, &resource, opts...) 188 if err != nil { 189 return nil, err 190 } 191 return &resource, nil 192 } 193 194 // GetClusterInstance gets an existing ClusterInstance resource's state with the given name, ID, and optional 195 // state properties that are used to uniquely qualify the lookup (nil if not required). 196 func GetClusterInstance(ctx *pulumi.Context, 197 name string, id pulumi.IDInput, state *ClusterInstanceState, opts ...pulumi.ResourceOption) (*ClusterInstance, error) { 198 var resource ClusterInstance 199 err := ctx.ReadResource("aws:rds/clusterInstance:ClusterInstance", name, id, state, &resource, opts...) 200 if err != nil { 201 return nil, err 202 } 203 return &resource, nil 204 } 205 206 // Input properties used for looking up and filtering ClusterInstance resources. 207 type clusterInstanceState struct { 208 // Specifies whether any database modifications are applied immediately, or during the next maintenance window. Default is`false`. 209 ApplyImmediately *bool `pulumi:"applyImmediately"` 210 // Amazon Resource Name (ARN) of cluster instance 211 Arn *string `pulumi:"arn"` 212 // Indicates that minor engine upgrades will be applied automatically to the DB instance during the maintenance window. Default `true`. 213 AutoMinorVersionUpgrade *bool `pulumi:"autoMinorVersionUpgrade"` 214 // EC2 Availability Zone that the DB instance is created in. See [docs](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html) about the details. 215 AvailabilityZone *string `pulumi:"availabilityZone"` 216 // Identifier of the CA certificate for the DB instance. 217 CaCertIdentifier *string `pulumi:"caCertIdentifier"` 218 // Identifier of the `rds.Cluster` in which to launch this instance. 219 ClusterIdentifier *string `pulumi:"clusterIdentifier"` 220 // Indicates whether to copy all of the user-defined tags from the DB instance to snapshots of the DB instance. Default `false`. 221 CopyTagsToSnapshot *bool `pulumi:"copyTagsToSnapshot"` 222 // Instance profile associated with the underlying Amazon EC2 instance of an RDS Custom DB instance. 223 CustomIamInstanceProfile *string `pulumi:"customIamInstanceProfile"` 224 // Name of the DB parameter group to associate with this instance. 225 DbParameterGroupName *string `pulumi:"dbParameterGroupName"` 226 // DB subnet group to associate with this DB instance. **NOTE:** This must match the `dbSubnetGroupName` of the attached `rds.Cluster`. 227 DbSubnetGroupName *string `pulumi:"dbSubnetGroupName"` 228 // Region-unique, immutable identifier for the DB instance. 229 DbiResourceId *string `pulumi:"dbiResourceId"` 230 // DNS address for this instance. May not be writable 231 Endpoint *string `pulumi:"endpoint"` 232 // Name of the database engine to be used for the RDS cluster instance. 233 // Valid Values: `aurora-mysql`, `aurora-postgresql`, `mysql`, `postgres`.(Note that `mysql` and `postgres` are Multi-AZ RDS clusters). 234 Engine *string `pulumi:"engine"` 235 // Database engine version. Please note that to upgrade the `engineVersion` of the instance, it must be done on the `rds.Cluster` `engineVersion`. Trying to upgrade in `awsClusterInstance` will not update the `engineVersion`. 236 EngineVersion *string `pulumi:"engineVersion"` 237 // Database engine version 238 EngineVersionActual *string `pulumi:"engineVersionActual"` 239 // Identifier for the RDS instance, if omitted, Pulumi will assign a random, unique identifier. 240 Identifier *string `pulumi:"identifier"` 241 // Creates a unique identifier beginning with the specified prefix. Conflicts with `identifier`. 242 IdentifierPrefix *string `pulumi:"identifierPrefix"` 243 // Instance class to use. For details on CPU and memory, see [Scaling Aurora DB Instances](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Aurora.Managing.html). Aurora uses `db.*` instance classes/types. Please see [AWS Documentation](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html) for currently available instance classes and complete details. 244 InstanceClass *string `pulumi:"instanceClass"` 245 // ARN for the KMS encryption key if one is set to the cluster. 246 KmsKeyId *string `pulumi:"kmsKeyId"` 247 // Interval, in seconds, between points when Enhanced Monitoring metrics are collected for the DB instance. To disable collecting Enhanced Monitoring metrics, specify 0. The default is 0. Valid Values: 0, 1, 5, 10, 15, 30, 60. 248 MonitoringInterval *int `pulumi:"monitoringInterval"` 249 // ARN for the IAM role that permits RDS to send enhanced monitoring metrics to CloudWatch Logs. You can find more information on the [AWS Documentation](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Monitoring.html) what IAM permissions are needed to allow Enhanced Monitoring for RDS Instances. 250 MonitoringRoleArn *string `pulumi:"monitoringRoleArn"` 251 // Network type of the DB instance. 252 NetworkType *string `pulumi:"networkType"` 253 // Specifies whether Performance Insights is enabled or not. 254 PerformanceInsightsEnabled *bool `pulumi:"performanceInsightsEnabled"` 255 // ARN for the KMS key to encrypt Performance Insights data. When specifying `performanceInsightsKmsKeyId`, `performanceInsightsEnabled` needs to be set to true. 256 PerformanceInsightsKmsKeyId *string `pulumi:"performanceInsightsKmsKeyId"` 257 // Amount of time in days to retain Performance Insights data. Valid values are `7`, `731` (2 years) or a multiple of `31`. When specifying `performanceInsightsRetentionPeriod`, `performanceInsightsEnabled` needs to be set to true. Defaults to '7'. 258 PerformanceInsightsRetentionPeriod *int `pulumi:"performanceInsightsRetentionPeriod"` 259 // Database port 260 Port *int `pulumi:"port"` 261 // Daily time range during which automated backups are created if automated backups are enabled. Eg: "04:00-09:00". **NOTE:** If `preferredBackupWindow` is set at the cluster level, this argument **must** be omitted. 262 PreferredBackupWindow *string `pulumi:"preferredBackupWindow"` 263 // Window to perform maintenance in. Syntax: "ddd:hh24:mi-ddd:hh24:mi". Eg: "Mon:00:00-Mon:03:00". 264 PreferredMaintenanceWindow *string `pulumi:"preferredMaintenanceWindow"` 265 // Default 0. Failover Priority setting on instance level. The reader who has lower tier has higher priority to get promoted to writer. 266 PromotionTier *int `pulumi:"promotionTier"` 267 // Bool to control if instance is publicly accessible. Default `false`. See the documentation on [Creating DB Instances](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html) for more details on controlling this property. 268 PubliclyAccessible *bool `pulumi:"publiclyAccessible"` 269 // Specifies whether the DB cluster is encrypted. 270 StorageEncrypted *bool `pulumi:"storageEncrypted"` 271 // Map of tags to assign to the instance. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 272 Tags map[string]string `pulumi:"tags"` 273 // Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 274 // 275 // Deprecated: Please use `tags` instead. 276 TagsAll map[string]string `pulumi:"tagsAll"` 277 // Boolean indicating if this instance is writable. `False` indicates this instance is a read replica. 278 Writer *bool `pulumi:"writer"` 279 } 280 281 type ClusterInstanceState struct { 282 // Specifies whether any database modifications are applied immediately, or during the next maintenance window. Default is`false`. 283 ApplyImmediately pulumi.BoolPtrInput 284 // Amazon Resource Name (ARN) of cluster instance 285 Arn pulumi.StringPtrInput 286 // Indicates that minor engine upgrades will be applied automatically to the DB instance during the maintenance window. Default `true`. 287 AutoMinorVersionUpgrade pulumi.BoolPtrInput 288 // EC2 Availability Zone that the DB instance is created in. See [docs](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html) about the details. 289 AvailabilityZone pulumi.StringPtrInput 290 // Identifier of the CA certificate for the DB instance. 291 CaCertIdentifier pulumi.StringPtrInput 292 // Identifier of the `rds.Cluster` in which to launch this instance. 293 ClusterIdentifier pulumi.StringPtrInput 294 // Indicates whether to copy all of the user-defined tags from the DB instance to snapshots of the DB instance. Default `false`. 295 CopyTagsToSnapshot pulumi.BoolPtrInput 296 // Instance profile associated with the underlying Amazon EC2 instance of an RDS Custom DB instance. 297 CustomIamInstanceProfile pulumi.StringPtrInput 298 // Name of the DB parameter group to associate with this instance. 299 DbParameterGroupName pulumi.StringPtrInput 300 // DB subnet group to associate with this DB instance. **NOTE:** This must match the `dbSubnetGroupName` of the attached `rds.Cluster`. 301 DbSubnetGroupName pulumi.StringPtrInput 302 // Region-unique, immutable identifier for the DB instance. 303 DbiResourceId pulumi.StringPtrInput 304 // DNS address for this instance. May not be writable 305 Endpoint pulumi.StringPtrInput 306 // Name of the database engine to be used for the RDS cluster instance. 307 // Valid Values: `aurora-mysql`, `aurora-postgresql`, `mysql`, `postgres`.(Note that `mysql` and `postgres` are Multi-AZ RDS clusters). 308 Engine pulumi.StringPtrInput 309 // Database engine version. Please note that to upgrade the `engineVersion` of the instance, it must be done on the `rds.Cluster` `engineVersion`. Trying to upgrade in `awsClusterInstance` will not update the `engineVersion`. 310 EngineVersion pulumi.StringPtrInput 311 // Database engine version 312 EngineVersionActual pulumi.StringPtrInput 313 // Identifier for the RDS instance, if omitted, Pulumi will assign a random, unique identifier. 314 Identifier pulumi.StringPtrInput 315 // Creates a unique identifier beginning with the specified prefix. Conflicts with `identifier`. 316 IdentifierPrefix pulumi.StringPtrInput 317 // Instance class to use. For details on CPU and memory, see [Scaling Aurora DB Instances](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Aurora.Managing.html). Aurora uses `db.*` instance classes/types. Please see [AWS Documentation](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html) for currently available instance classes and complete details. 318 InstanceClass pulumi.StringPtrInput 319 // ARN for the KMS encryption key if one is set to the cluster. 320 KmsKeyId pulumi.StringPtrInput 321 // Interval, in seconds, between points when Enhanced Monitoring metrics are collected for the DB instance. To disable collecting Enhanced Monitoring metrics, specify 0. The default is 0. Valid Values: 0, 1, 5, 10, 15, 30, 60. 322 MonitoringInterval pulumi.IntPtrInput 323 // ARN for the IAM role that permits RDS to send enhanced monitoring metrics to CloudWatch Logs. You can find more information on the [AWS Documentation](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Monitoring.html) what IAM permissions are needed to allow Enhanced Monitoring for RDS Instances. 324 MonitoringRoleArn pulumi.StringPtrInput 325 // Network type of the DB instance. 326 NetworkType pulumi.StringPtrInput 327 // Specifies whether Performance Insights is enabled or not. 328 PerformanceInsightsEnabled pulumi.BoolPtrInput 329 // ARN for the KMS key to encrypt Performance Insights data. When specifying `performanceInsightsKmsKeyId`, `performanceInsightsEnabled` needs to be set to true. 330 PerformanceInsightsKmsKeyId pulumi.StringPtrInput 331 // Amount of time in days to retain Performance Insights data. Valid values are `7`, `731` (2 years) or a multiple of `31`. When specifying `performanceInsightsRetentionPeriod`, `performanceInsightsEnabled` needs to be set to true. Defaults to '7'. 332 PerformanceInsightsRetentionPeriod pulumi.IntPtrInput 333 // Database port 334 Port pulumi.IntPtrInput 335 // Daily time range during which automated backups are created if automated backups are enabled. Eg: "04:00-09:00". **NOTE:** If `preferredBackupWindow` is set at the cluster level, this argument **must** be omitted. 336 PreferredBackupWindow pulumi.StringPtrInput 337 // Window to perform maintenance in. Syntax: "ddd:hh24:mi-ddd:hh24:mi". Eg: "Mon:00:00-Mon:03:00". 338 PreferredMaintenanceWindow pulumi.StringPtrInput 339 // Default 0. Failover Priority setting on instance level. The reader who has lower tier has higher priority to get promoted to writer. 340 PromotionTier pulumi.IntPtrInput 341 // Bool to control if instance is publicly accessible. Default `false`. See the documentation on [Creating DB Instances](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html) for more details on controlling this property. 342 PubliclyAccessible pulumi.BoolPtrInput 343 // Specifies whether the DB cluster is encrypted. 344 StorageEncrypted pulumi.BoolPtrInput 345 // Map of tags to assign to the instance. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 346 Tags pulumi.StringMapInput 347 // Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 348 // 349 // Deprecated: Please use `tags` instead. 350 TagsAll pulumi.StringMapInput 351 // Boolean indicating if this instance is writable. `False` indicates this instance is a read replica. 352 Writer pulumi.BoolPtrInput 353 } 354 355 func (ClusterInstanceState) ElementType() reflect.Type { 356 return reflect.TypeOf((*clusterInstanceState)(nil)).Elem() 357 } 358 359 type clusterInstanceArgs struct { 360 // Specifies whether any database modifications are applied immediately, or during the next maintenance window. Default is`false`. 361 ApplyImmediately *bool `pulumi:"applyImmediately"` 362 // Indicates that minor engine upgrades will be applied automatically to the DB instance during the maintenance window. Default `true`. 363 AutoMinorVersionUpgrade *bool `pulumi:"autoMinorVersionUpgrade"` 364 // EC2 Availability Zone that the DB instance is created in. See [docs](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html) about the details. 365 AvailabilityZone *string `pulumi:"availabilityZone"` 366 // Identifier of the CA certificate for the DB instance. 367 CaCertIdentifier *string `pulumi:"caCertIdentifier"` 368 // Identifier of the `rds.Cluster` in which to launch this instance. 369 ClusterIdentifier string `pulumi:"clusterIdentifier"` 370 // Indicates whether to copy all of the user-defined tags from the DB instance to snapshots of the DB instance. Default `false`. 371 CopyTagsToSnapshot *bool `pulumi:"copyTagsToSnapshot"` 372 // Instance profile associated with the underlying Amazon EC2 instance of an RDS Custom DB instance. 373 CustomIamInstanceProfile *string `pulumi:"customIamInstanceProfile"` 374 // Name of the DB parameter group to associate with this instance. 375 DbParameterGroupName *string `pulumi:"dbParameterGroupName"` 376 // DB subnet group to associate with this DB instance. **NOTE:** This must match the `dbSubnetGroupName` of the attached `rds.Cluster`. 377 DbSubnetGroupName *string `pulumi:"dbSubnetGroupName"` 378 // Name of the database engine to be used for the RDS cluster instance. 379 // Valid Values: `aurora-mysql`, `aurora-postgresql`, `mysql`, `postgres`.(Note that `mysql` and `postgres` are Multi-AZ RDS clusters). 380 Engine string `pulumi:"engine"` 381 // Database engine version. Please note that to upgrade the `engineVersion` of the instance, it must be done on the `rds.Cluster` `engineVersion`. Trying to upgrade in `awsClusterInstance` will not update the `engineVersion`. 382 EngineVersion *string `pulumi:"engineVersion"` 383 // Identifier for the RDS instance, if omitted, Pulumi will assign a random, unique identifier. 384 Identifier *string `pulumi:"identifier"` 385 // Creates a unique identifier beginning with the specified prefix. Conflicts with `identifier`. 386 IdentifierPrefix *string `pulumi:"identifierPrefix"` 387 // Instance class to use. For details on CPU and memory, see [Scaling Aurora DB Instances](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Aurora.Managing.html). Aurora uses `db.*` instance classes/types. Please see [AWS Documentation](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html) for currently available instance classes and complete details. 388 InstanceClass string `pulumi:"instanceClass"` 389 // Interval, in seconds, between points when Enhanced Monitoring metrics are collected for the DB instance. To disable collecting Enhanced Monitoring metrics, specify 0. The default is 0. Valid Values: 0, 1, 5, 10, 15, 30, 60. 390 MonitoringInterval *int `pulumi:"monitoringInterval"` 391 // ARN for the IAM role that permits RDS to send enhanced monitoring metrics to CloudWatch Logs. You can find more information on the [AWS Documentation](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Monitoring.html) what IAM permissions are needed to allow Enhanced Monitoring for RDS Instances. 392 MonitoringRoleArn *string `pulumi:"monitoringRoleArn"` 393 // Specifies whether Performance Insights is enabled or not. 394 PerformanceInsightsEnabled *bool `pulumi:"performanceInsightsEnabled"` 395 // ARN for the KMS key to encrypt Performance Insights data. When specifying `performanceInsightsKmsKeyId`, `performanceInsightsEnabled` needs to be set to true. 396 PerformanceInsightsKmsKeyId *string `pulumi:"performanceInsightsKmsKeyId"` 397 // Amount of time in days to retain Performance Insights data. Valid values are `7`, `731` (2 years) or a multiple of `31`. When specifying `performanceInsightsRetentionPeriod`, `performanceInsightsEnabled` needs to be set to true. Defaults to '7'. 398 PerformanceInsightsRetentionPeriod *int `pulumi:"performanceInsightsRetentionPeriod"` 399 // Daily time range during which automated backups are created if automated backups are enabled. Eg: "04:00-09:00". **NOTE:** If `preferredBackupWindow` is set at the cluster level, this argument **must** be omitted. 400 PreferredBackupWindow *string `pulumi:"preferredBackupWindow"` 401 // Window to perform maintenance in. Syntax: "ddd:hh24:mi-ddd:hh24:mi". Eg: "Mon:00:00-Mon:03:00". 402 PreferredMaintenanceWindow *string `pulumi:"preferredMaintenanceWindow"` 403 // Default 0. Failover Priority setting on instance level. The reader who has lower tier has higher priority to get promoted to writer. 404 PromotionTier *int `pulumi:"promotionTier"` 405 // Bool to control if instance is publicly accessible. Default `false`. See the documentation on [Creating DB Instances](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html) for more details on controlling this property. 406 PubliclyAccessible *bool `pulumi:"publiclyAccessible"` 407 // Map of tags to assign to the instance. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 408 Tags map[string]string `pulumi:"tags"` 409 } 410 411 // The set of arguments for constructing a ClusterInstance resource. 412 type ClusterInstanceArgs struct { 413 // Specifies whether any database modifications are applied immediately, or during the next maintenance window. Default is`false`. 414 ApplyImmediately pulumi.BoolPtrInput 415 // Indicates that minor engine upgrades will be applied automatically to the DB instance during the maintenance window. Default `true`. 416 AutoMinorVersionUpgrade pulumi.BoolPtrInput 417 // EC2 Availability Zone that the DB instance is created in. See [docs](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html) about the details. 418 AvailabilityZone pulumi.StringPtrInput 419 // Identifier of the CA certificate for the DB instance. 420 CaCertIdentifier pulumi.StringPtrInput 421 // Identifier of the `rds.Cluster` in which to launch this instance. 422 ClusterIdentifier pulumi.StringInput 423 // Indicates whether to copy all of the user-defined tags from the DB instance to snapshots of the DB instance. Default `false`. 424 CopyTagsToSnapshot pulumi.BoolPtrInput 425 // Instance profile associated with the underlying Amazon EC2 instance of an RDS Custom DB instance. 426 CustomIamInstanceProfile pulumi.StringPtrInput 427 // Name of the DB parameter group to associate with this instance. 428 DbParameterGroupName pulumi.StringPtrInput 429 // DB subnet group to associate with this DB instance. **NOTE:** This must match the `dbSubnetGroupName` of the attached `rds.Cluster`. 430 DbSubnetGroupName pulumi.StringPtrInput 431 // Name of the database engine to be used for the RDS cluster instance. 432 // Valid Values: `aurora-mysql`, `aurora-postgresql`, `mysql`, `postgres`.(Note that `mysql` and `postgres` are Multi-AZ RDS clusters). 433 Engine pulumi.StringInput 434 // Database engine version. Please note that to upgrade the `engineVersion` of the instance, it must be done on the `rds.Cluster` `engineVersion`. Trying to upgrade in `awsClusterInstance` will not update the `engineVersion`. 435 EngineVersion pulumi.StringPtrInput 436 // Identifier for the RDS instance, if omitted, Pulumi will assign a random, unique identifier. 437 Identifier pulumi.StringPtrInput 438 // Creates a unique identifier beginning with the specified prefix. Conflicts with `identifier`. 439 IdentifierPrefix pulumi.StringPtrInput 440 // Instance class to use. For details on CPU and memory, see [Scaling Aurora DB Instances](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Aurora.Managing.html). Aurora uses `db.*` instance classes/types. Please see [AWS Documentation](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html) for currently available instance classes and complete details. 441 InstanceClass pulumi.StringInput 442 // Interval, in seconds, between points when Enhanced Monitoring metrics are collected for the DB instance. To disable collecting Enhanced Monitoring metrics, specify 0. The default is 0. Valid Values: 0, 1, 5, 10, 15, 30, 60. 443 MonitoringInterval pulumi.IntPtrInput 444 // ARN for the IAM role that permits RDS to send enhanced monitoring metrics to CloudWatch Logs. You can find more information on the [AWS Documentation](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Monitoring.html) what IAM permissions are needed to allow Enhanced Monitoring for RDS Instances. 445 MonitoringRoleArn pulumi.StringPtrInput 446 // Specifies whether Performance Insights is enabled or not. 447 PerformanceInsightsEnabled pulumi.BoolPtrInput 448 // ARN for the KMS key to encrypt Performance Insights data. When specifying `performanceInsightsKmsKeyId`, `performanceInsightsEnabled` needs to be set to true. 449 PerformanceInsightsKmsKeyId pulumi.StringPtrInput 450 // Amount of time in days to retain Performance Insights data. Valid values are `7`, `731` (2 years) or a multiple of `31`. When specifying `performanceInsightsRetentionPeriod`, `performanceInsightsEnabled` needs to be set to true. Defaults to '7'. 451 PerformanceInsightsRetentionPeriod pulumi.IntPtrInput 452 // Daily time range during which automated backups are created if automated backups are enabled. Eg: "04:00-09:00". **NOTE:** If `preferredBackupWindow` is set at the cluster level, this argument **must** be omitted. 453 PreferredBackupWindow pulumi.StringPtrInput 454 // Window to perform maintenance in. Syntax: "ddd:hh24:mi-ddd:hh24:mi". Eg: "Mon:00:00-Mon:03:00". 455 PreferredMaintenanceWindow pulumi.StringPtrInput 456 // Default 0. Failover Priority setting on instance level. The reader who has lower tier has higher priority to get promoted to writer. 457 PromotionTier pulumi.IntPtrInput 458 // Bool to control if instance is publicly accessible. Default `false`. See the documentation on [Creating DB Instances](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html) for more details on controlling this property. 459 PubliclyAccessible pulumi.BoolPtrInput 460 // Map of tags to assign to the instance. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 461 Tags pulumi.StringMapInput 462 } 463 464 func (ClusterInstanceArgs) ElementType() reflect.Type { 465 return reflect.TypeOf((*clusterInstanceArgs)(nil)).Elem() 466 } 467 468 type ClusterInstanceInput interface { 469 pulumi.Input 470 471 ToClusterInstanceOutput() ClusterInstanceOutput 472 ToClusterInstanceOutputWithContext(ctx context.Context) ClusterInstanceOutput 473 } 474 475 func (*ClusterInstance) ElementType() reflect.Type { 476 return reflect.TypeOf((**ClusterInstance)(nil)).Elem() 477 } 478 479 func (i *ClusterInstance) ToClusterInstanceOutput() ClusterInstanceOutput { 480 return i.ToClusterInstanceOutputWithContext(context.Background()) 481 } 482 483 func (i *ClusterInstance) ToClusterInstanceOutputWithContext(ctx context.Context) ClusterInstanceOutput { 484 return pulumi.ToOutputWithContext(ctx, i).(ClusterInstanceOutput) 485 } 486 487 // ClusterInstanceArrayInput is an input type that accepts ClusterInstanceArray and ClusterInstanceArrayOutput values. 488 // You can construct a concrete instance of `ClusterInstanceArrayInput` via: 489 // 490 // ClusterInstanceArray{ ClusterInstanceArgs{...} } 491 type ClusterInstanceArrayInput interface { 492 pulumi.Input 493 494 ToClusterInstanceArrayOutput() ClusterInstanceArrayOutput 495 ToClusterInstanceArrayOutputWithContext(context.Context) ClusterInstanceArrayOutput 496 } 497 498 type ClusterInstanceArray []ClusterInstanceInput 499 500 func (ClusterInstanceArray) ElementType() reflect.Type { 501 return reflect.TypeOf((*[]*ClusterInstance)(nil)).Elem() 502 } 503 504 func (i ClusterInstanceArray) ToClusterInstanceArrayOutput() ClusterInstanceArrayOutput { 505 return i.ToClusterInstanceArrayOutputWithContext(context.Background()) 506 } 507 508 func (i ClusterInstanceArray) ToClusterInstanceArrayOutputWithContext(ctx context.Context) ClusterInstanceArrayOutput { 509 return pulumi.ToOutputWithContext(ctx, i).(ClusterInstanceArrayOutput) 510 } 511 512 // ClusterInstanceMapInput is an input type that accepts ClusterInstanceMap and ClusterInstanceMapOutput values. 513 // You can construct a concrete instance of `ClusterInstanceMapInput` via: 514 // 515 // ClusterInstanceMap{ "key": ClusterInstanceArgs{...} } 516 type ClusterInstanceMapInput interface { 517 pulumi.Input 518 519 ToClusterInstanceMapOutput() ClusterInstanceMapOutput 520 ToClusterInstanceMapOutputWithContext(context.Context) ClusterInstanceMapOutput 521 } 522 523 type ClusterInstanceMap map[string]ClusterInstanceInput 524 525 func (ClusterInstanceMap) ElementType() reflect.Type { 526 return reflect.TypeOf((*map[string]*ClusterInstance)(nil)).Elem() 527 } 528 529 func (i ClusterInstanceMap) ToClusterInstanceMapOutput() ClusterInstanceMapOutput { 530 return i.ToClusterInstanceMapOutputWithContext(context.Background()) 531 } 532 533 func (i ClusterInstanceMap) ToClusterInstanceMapOutputWithContext(ctx context.Context) ClusterInstanceMapOutput { 534 return pulumi.ToOutputWithContext(ctx, i).(ClusterInstanceMapOutput) 535 } 536 537 type ClusterInstanceOutput struct{ *pulumi.OutputState } 538 539 func (ClusterInstanceOutput) ElementType() reflect.Type { 540 return reflect.TypeOf((**ClusterInstance)(nil)).Elem() 541 } 542 543 func (o ClusterInstanceOutput) ToClusterInstanceOutput() ClusterInstanceOutput { 544 return o 545 } 546 547 func (o ClusterInstanceOutput) ToClusterInstanceOutputWithContext(ctx context.Context) ClusterInstanceOutput { 548 return o 549 } 550 551 // Specifies whether any database modifications are applied immediately, or during the next maintenance window. Default is`false`. 552 func (o ClusterInstanceOutput) ApplyImmediately() pulumi.BoolOutput { 553 return o.ApplyT(func(v *ClusterInstance) pulumi.BoolOutput { return v.ApplyImmediately }).(pulumi.BoolOutput) 554 } 555 556 // Amazon Resource Name (ARN) of cluster instance 557 func (o ClusterInstanceOutput) Arn() pulumi.StringOutput { 558 return o.ApplyT(func(v *ClusterInstance) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput) 559 } 560 561 // Indicates that minor engine upgrades will be applied automatically to the DB instance during the maintenance window. Default `true`. 562 func (o ClusterInstanceOutput) AutoMinorVersionUpgrade() pulumi.BoolPtrOutput { 563 return o.ApplyT(func(v *ClusterInstance) pulumi.BoolPtrOutput { return v.AutoMinorVersionUpgrade }).(pulumi.BoolPtrOutput) 564 } 565 566 // EC2 Availability Zone that the DB instance is created in. See [docs](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html) about the details. 567 func (o ClusterInstanceOutput) AvailabilityZone() pulumi.StringOutput { 568 return o.ApplyT(func(v *ClusterInstance) pulumi.StringOutput { return v.AvailabilityZone }).(pulumi.StringOutput) 569 } 570 571 // Identifier of the CA certificate for the DB instance. 572 func (o ClusterInstanceOutput) CaCertIdentifier() pulumi.StringOutput { 573 return o.ApplyT(func(v *ClusterInstance) pulumi.StringOutput { return v.CaCertIdentifier }).(pulumi.StringOutput) 574 } 575 576 // Identifier of the `rds.Cluster` in which to launch this instance. 577 func (o ClusterInstanceOutput) ClusterIdentifier() pulumi.StringOutput { 578 return o.ApplyT(func(v *ClusterInstance) pulumi.StringOutput { return v.ClusterIdentifier }).(pulumi.StringOutput) 579 } 580 581 // Indicates whether to copy all of the user-defined tags from the DB instance to snapshots of the DB instance. Default `false`. 582 func (o ClusterInstanceOutput) CopyTagsToSnapshot() pulumi.BoolPtrOutput { 583 return o.ApplyT(func(v *ClusterInstance) pulumi.BoolPtrOutput { return v.CopyTagsToSnapshot }).(pulumi.BoolPtrOutput) 584 } 585 586 // Instance profile associated with the underlying Amazon EC2 instance of an RDS Custom DB instance. 587 func (o ClusterInstanceOutput) CustomIamInstanceProfile() pulumi.StringPtrOutput { 588 return o.ApplyT(func(v *ClusterInstance) pulumi.StringPtrOutput { return v.CustomIamInstanceProfile }).(pulumi.StringPtrOutput) 589 } 590 591 // Name of the DB parameter group to associate with this instance. 592 func (o ClusterInstanceOutput) DbParameterGroupName() pulumi.StringOutput { 593 return o.ApplyT(func(v *ClusterInstance) pulumi.StringOutput { return v.DbParameterGroupName }).(pulumi.StringOutput) 594 } 595 596 // DB subnet group to associate with this DB instance. **NOTE:** This must match the `dbSubnetGroupName` of the attached `rds.Cluster`. 597 func (o ClusterInstanceOutput) DbSubnetGroupName() pulumi.StringOutput { 598 return o.ApplyT(func(v *ClusterInstance) pulumi.StringOutput { return v.DbSubnetGroupName }).(pulumi.StringOutput) 599 } 600 601 // Region-unique, immutable identifier for the DB instance. 602 func (o ClusterInstanceOutput) DbiResourceId() pulumi.StringOutput { 603 return o.ApplyT(func(v *ClusterInstance) pulumi.StringOutput { return v.DbiResourceId }).(pulumi.StringOutput) 604 } 605 606 // DNS address for this instance. May not be writable 607 func (o ClusterInstanceOutput) Endpoint() pulumi.StringOutput { 608 return o.ApplyT(func(v *ClusterInstance) pulumi.StringOutput { return v.Endpoint }).(pulumi.StringOutput) 609 } 610 611 // Name of the database engine to be used for the RDS cluster instance. 612 // Valid Values: `aurora-mysql`, `aurora-postgresql`, `mysql`, `postgres`.(Note that `mysql` and `postgres` are Multi-AZ RDS clusters). 613 func (o ClusterInstanceOutput) Engine() pulumi.StringOutput { 614 return o.ApplyT(func(v *ClusterInstance) pulumi.StringOutput { return v.Engine }).(pulumi.StringOutput) 615 } 616 617 // Database engine version. Please note that to upgrade the `engineVersion` of the instance, it must be done on the `rds.Cluster` `engineVersion`. Trying to upgrade in `awsClusterInstance` will not update the `engineVersion`. 618 func (o ClusterInstanceOutput) EngineVersion() pulumi.StringOutput { 619 return o.ApplyT(func(v *ClusterInstance) pulumi.StringOutput { return v.EngineVersion }).(pulumi.StringOutput) 620 } 621 622 // Database engine version 623 func (o ClusterInstanceOutput) EngineVersionActual() pulumi.StringOutput { 624 return o.ApplyT(func(v *ClusterInstance) pulumi.StringOutput { return v.EngineVersionActual }).(pulumi.StringOutput) 625 } 626 627 // Identifier for the RDS instance, if omitted, Pulumi will assign a random, unique identifier. 628 func (o ClusterInstanceOutput) Identifier() pulumi.StringOutput { 629 return o.ApplyT(func(v *ClusterInstance) pulumi.StringOutput { return v.Identifier }).(pulumi.StringOutput) 630 } 631 632 // Creates a unique identifier beginning with the specified prefix. Conflicts with `identifier`. 633 func (o ClusterInstanceOutput) IdentifierPrefix() pulumi.StringOutput { 634 return o.ApplyT(func(v *ClusterInstance) pulumi.StringOutput { return v.IdentifierPrefix }).(pulumi.StringOutput) 635 } 636 637 // Instance class to use. For details on CPU and memory, see [Scaling Aurora DB Instances](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Aurora.Managing.html). Aurora uses `db.*` instance classes/types. Please see [AWS Documentation](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html) for currently available instance classes and complete details. 638 func (o ClusterInstanceOutput) InstanceClass() pulumi.StringOutput { 639 return o.ApplyT(func(v *ClusterInstance) pulumi.StringOutput { return v.InstanceClass }).(pulumi.StringOutput) 640 } 641 642 // ARN for the KMS encryption key if one is set to the cluster. 643 func (o ClusterInstanceOutput) KmsKeyId() pulumi.StringOutput { 644 return o.ApplyT(func(v *ClusterInstance) pulumi.StringOutput { return v.KmsKeyId }).(pulumi.StringOutput) 645 } 646 647 // Interval, in seconds, between points when Enhanced Monitoring metrics are collected for the DB instance. To disable collecting Enhanced Monitoring metrics, specify 0. The default is 0. Valid Values: 0, 1, 5, 10, 15, 30, 60. 648 func (o ClusterInstanceOutput) MonitoringInterval() pulumi.IntPtrOutput { 649 return o.ApplyT(func(v *ClusterInstance) pulumi.IntPtrOutput { return v.MonitoringInterval }).(pulumi.IntPtrOutput) 650 } 651 652 // ARN for the IAM role that permits RDS to send enhanced monitoring metrics to CloudWatch Logs. You can find more information on the [AWS Documentation](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Monitoring.html) what IAM permissions are needed to allow Enhanced Monitoring for RDS Instances. 653 func (o ClusterInstanceOutput) MonitoringRoleArn() pulumi.StringOutput { 654 return o.ApplyT(func(v *ClusterInstance) pulumi.StringOutput { return v.MonitoringRoleArn }).(pulumi.StringOutput) 655 } 656 657 // Network type of the DB instance. 658 func (o ClusterInstanceOutput) NetworkType() pulumi.StringOutput { 659 return o.ApplyT(func(v *ClusterInstance) pulumi.StringOutput { return v.NetworkType }).(pulumi.StringOutput) 660 } 661 662 // Specifies whether Performance Insights is enabled or not. 663 func (o ClusterInstanceOutput) PerformanceInsightsEnabled() pulumi.BoolOutput { 664 return o.ApplyT(func(v *ClusterInstance) pulumi.BoolOutput { return v.PerformanceInsightsEnabled }).(pulumi.BoolOutput) 665 } 666 667 // ARN for the KMS key to encrypt Performance Insights data. When specifying `performanceInsightsKmsKeyId`, `performanceInsightsEnabled` needs to be set to true. 668 func (o ClusterInstanceOutput) PerformanceInsightsKmsKeyId() pulumi.StringOutput { 669 return o.ApplyT(func(v *ClusterInstance) pulumi.StringOutput { return v.PerformanceInsightsKmsKeyId }).(pulumi.StringOutput) 670 } 671 672 // Amount of time in days to retain Performance Insights data. Valid values are `7`, `731` (2 years) or a multiple of `31`. When specifying `performanceInsightsRetentionPeriod`, `performanceInsightsEnabled` needs to be set to true. Defaults to '7'. 673 func (o ClusterInstanceOutput) PerformanceInsightsRetentionPeriod() pulumi.IntOutput { 674 return o.ApplyT(func(v *ClusterInstance) pulumi.IntOutput { return v.PerformanceInsightsRetentionPeriod }).(pulumi.IntOutput) 675 } 676 677 // Database port 678 func (o ClusterInstanceOutput) Port() pulumi.IntOutput { 679 return o.ApplyT(func(v *ClusterInstance) pulumi.IntOutput { return v.Port }).(pulumi.IntOutput) 680 } 681 682 // Daily time range during which automated backups are created if automated backups are enabled. Eg: "04:00-09:00". **NOTE:** If `preferredBackupWindow` is set at the cluster level, this argument **must** be omitted. 683 func (o ClusterInstanceOutput) PreferredBackupWindow() pulumi.StringOutput { 684 return o.ApplyT(func(v *ClusterInstance) pulumi.StringOutput { return v.PreferredBackupWindow }).(pulumi.StringOutput) 685 } 686 687 // Window to perform maintenance in. Syntax: "ddd:hh24:mi-ddd:hh24:mi". Eg: "Mon:00:00-Mon:03:00". 688 func (o ClusterInstanceOutput) PreferredMaintenanceWindow() pulumi.StringOutput { 689 return o.ApplyT(func(v *ClusterInstance) pulumi.StringOutput { return v.PreferredMaintenanceWindow }).(pulumi.StringOutput) 690 } 691 692 // Default 0. Failover Priority setting on instance level. The reader who has lower tier has higher priority to get promoted to writer. 693 func (o ClusterInstanceOutput) PromotionTier() pulumi.IntPtrOutput { 694 return o.ApplyT(func(v *ClusterInstance) pulumi.IntPtrOutput { return v.PromotionTier }).(pulumi.IntPtrOutput) 695 } 696 697 // Bool to control if instance is publicly accessible. Default `false`. See the documentation on [Creating DB Instances](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html) for more details on controlling this property. 698 func (o ClusterInstanceOutput) PubliclyAccessible() pulumi.BoolOutput { 699 return o.ApplyT(func(v *ClusterInstance) pulumi.BoolOutput { return v.PubliclyAccessible }).(pulumi.BoolOutput) 700 } 701 702 // Specifies whether the DB cluster is encrypted. 703 func (o ClusterInstanceOutput) StorageEncrypted() pulumi.BoolOutput { 704 return o.ApplyT(func(v *ClusterInstance) pulumi.BoolOutput { return v.StorageEncrypted }).(pulumi.BoolOutput) 705 } 706 707 // Map of tags to assign to the instance. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 708 func (o ClusterInstanceOutput) Tags() pulumi.StringMapOutput { 709 return o.ApplyT(func(v *ClusterInstance) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput) 710 } 711 712 // Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 713 // 714 // Deprecated: Please use `tags` instead. 715 func (o ClusterInstanceOutput) TagsAll() pulumi.StringMapOutput { 716 return o.ApplyT(func(v *ClusterInstance) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput) 717 } 718 719 // Boolean indicating if this instance is writable. `False` indicates this instance is a read replica. 720 func (o ClusterInstanceOutput) Writer() pulumi.BoolOutput { 721 return o.ApplyT(func(v *ClusterInstance) pulumi.BoolOutput { return v.Writer }).(pulumi.BoolOutput) 722 } 723 724 type ClusterInstanceArrayOutput struct{ *pulumi.OutputState } 725 726 func (ClusterInstanceArrayOutput) ElementType() reflect.Type { 727 return reflect.TypeOf((*[]*ClusterInstance)(nil)).Elem() 728 } 729 730 func (o ClusterInstanceArrayOutput) ToClusterInstanceArrayOutput() ClusterInstanceArrayOutput { 731 return o 732 } 733 734 func (o ClusterInstanceArrayOutput) ToClusterInstanceArrayOutputWithContext(ctx context.Context) ClusterInstanceArrayOutput { 735 return o 736 } 737 738 func (o ClusterInstanceArrayOutput) Index(i pulumi.IntInput) ClusterInstanceOutput { 739 return pulumi.All(o, i).ApplyT(func(vs []interface{}) *ClusterInstance { 740 return vs[0].([]*ClusterInstance)[vs[1].(int)] 741 }).(ClusterInstanceOutput) 742 } 743 744 type ClusterInstanceMapOutput struct{ *pulumi.OutputState } 745 746 func (ClusterInstanceMapOutput) ElementType() reflect.Type { 747 return reflect.TypeOf((*map[string]*ClusterInstance)(nil)).Elem() 748 } 749 750 func (o ClusterInstanceMapOutput) ToClusterInstanceMapOutput() ClusterInstanceMapOutput { 751 return o 752 } 753 754 func (o ClusterInstanceMapOutput) ToClusterInstanceMapOutputWithContext(ctx context.Context) ClusterInstanceMapOutput { 755 return o 756 } 757 758 func (o ClusterInstanceMapOutput) MapIndex(k pulumi.StringInput) ClusterInstanceOutput { 759 return pulumi.All(o, k).ApplyT(func(vs []interface{}) *ClusterInstance { 760 return vs[0].(map[string]*ClusterInstance)[vs[1].(string)] 761 }).(ClusterInstanceOutput) 762 } 763 764 func init() { 765 pulumi.RegisterInputType(reflect.TypeOf((*ClusterInstanceInput)(nil)).Elem(), &ClusterInstance{}) 766 pulumi.RegisterInputType(reflect.TypeOf((*ClusterInstanceArrayInput)(nil)).Elem(), ClusterInstanceArray{}) 767 pulumi.RegisterInputType(reflect.TypeOf((*ClusterInstanceMapInput)(nil)).Elem(), ClusterInstanceMap{}) 768 pulumi.RegisterOutputType(ClusterInstanceOutput{}) 769 pulumi.RegisterOutputType(ClusterInstanceArrayOutput{}) 770 pulumi.RegisterOutputType(ClusterInstanceMapOutput{}) 771 }