github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/neptune/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 neptune 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 // A Cluster Instance Resource defines attributes that are specific to a single instance in a Neptune Cluster. 16 // 17 // You can simply add neptune instances and Neptune manages the replication. You can use the count 18 // meta-parameter to make multiple instances and join them all to the same Neptune Cluster, or you may specify different Cluster Instance resources with various `instanceClass` sizes. 19 // 20 // ## Example Usage 21 // 22 // The following example will create a neptune cluster with two neptune instances(one writer and one reader). 23 // 24 // <!--Start PulumiCodeChooser --> 25 // ```go 26 // package main 27 // 28 // import ( 29 // 30 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/neptune" 31 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 32 // 33 // ) 34 // 35 // func main() { 36 // pulumi.Run(func(ctx *pulumi.Context) error { 37 // _, err := neptune.NewCluster(ctx, "default", &neptune.ClusterArgs{ 38 // ClusterIdentifier: pulumi.String("neptune-cluster-demo"), 39 // Engine: pulumi.String("neptune"), 40 // BackupRetentionPeriod: pulumi.Int(5), 41 // PreferredBackupWindow: pulumi.String("07:00-09:00"), 42 // SkipFinalSnapshot: pulumi.Bool(true), 43 // IamDatabaseAuthenticationEnabled: pulumi.Bool(true), 44 // ApplyImmediately: pulumi.Bool(true), 45 // }) 46 // if err != nil { 47 // return err 48 // } 49 // var example []*neptune.ClusterInstance 50 // for index := 0; index < 2; index++ { 51 // key0 := index 52 // _ := index 53 // __res, err := neptune.NewClusterInstance(ctx, fmt.Sprintf("example-%v", key0), &neptune.ClusterInstanceArgs{ 54 // ClusterIdentifier: _default.ID(), 55 // Engine: pulumi.String("neptune"), 56 // InstanceClass: pulumi.String("db.r4.large"), 57 // ApplyImmediately: pulumi.Bool(true), 58 // }) 59 // if err != nil { 60 // return err 61 // } 62 // example = append(example, __res) 63 // } 64 // return nil 65 // }) 66 // } 67 // 68 // ``` 69 // <!--End PulumiCodeChooser --> 70 // 71 // ## Import 72 // 73 // Using `pulumi import`, import `aws_neptune_cluster_instance` using the instance identifier. For example: 74 // 75 // ```sh 76 // $ pulumi import aws:neptune/clusterInstance:ClusterInstance example my-instance 77 // ``` 78 type ClusterInstance struct { 79 pulumi.CustomResourceState 80 81 // The hostname of the instance. See also `endpoint` and `port`. 82 Address pulumi.StringOutput `pulumi:"address"` 83 // Specifies whether any instance modifications 84 // are applied immediately, or during the next maintenance window. Default is`false`. 85 ApplyImmediately pulumi.BoolOutput `pulumi:"applyImmediately"` 86 // Amazon Resource Name (ARN) of neptune instance 87 Arn pulumi.StringOutput `pulumi:"arn"` 88 // Indicates that minor engine upgrades will be applied automatically to the instance during the maintenance window. Default is `true`. 89 AutoMinorVersionUpgrade pulumi.BoolPtrOutput `pulumi:"autoMinorVersionUpgrade"` 90 // The EC2 Availability Zone that the neptune instance is created in. 91 AvailabilityZone pulumi.StringOutput `pulumi:"availabilityZone"` 92 // The identifier of the `neptune.Cluster` in which to launch this instance. 93 ClusterIdentifier pulumi.StringOutput `pulumi:"clusterIdentifier"` 94 // The region-unique, immutable identifier for the neptune instance. 95 DbiResourceId pulumi.StringOutput `pulumi:"dbiResourceId"` 96 // The connection endpoint in `address:port` format. 97 Endpoint pulumi.StringOutput `pulumi:"endpoint"` 98 // The name of the database engine to be used for the neptune instance. Defaults to `neptune`. Valid Values: `neptune`. 99 Engine pulumi.StringPtrOutput `pulumi:"engine"` 100 // The neptune engine version. Currently configuring this argumnet has no effect. 101 EngineVersion pulumi.StringOutput `pulumi:"engineVersion"` 102 // The identifier for the neptune instance, if omitted, this provider will assign a random, unique identifier. 103 Identifier pulumi.StringOutput `pulumi:"identifier"` 104 // Creates a unique identifier beginning with the specified prefix. Conflicts with `identifier`. 105 IdentifierPrefix pulumi.StringOutput `pulumi:"identifierPrefix"` 106 // The instance class to use. 107 InstanceClass pulumi.StringOutput `pulumi:"instanceClass"` 108 // The ARN for the KMS encryption key if one is set to the neptune cluster. 109 KmsKeyArn pulumi.StringOutput `pulumi:"kmsKeyArn"` 110 // The name of the neptune parameter group to associate with this instance. 111 NeptuneParameterGroupName pulumi.StringPtrOutput `pulumi:"neptuneParameterGroupName"` 112 // A subnet group to associate with this neptune instance. **NOTE:** This must match the `neptuneSubnetGroupName` of the attached `neptune.Cluster`. 113 NeptuneSubnetGroupName pulumi.StringOutput `pulumi:"neptuneSubnetGroupName"` 114 // The port on which the DB accepts connections. Defaults to `8182`. 115 Port pulumi.IntPtrOutput `pulumi:"port"` 116 // The daily time range during which automated backups are created if automated backups are enabled. Eg: "04:00-09:00" 117 PreferredBackupWindow pulumi.StringOutput `pulumi:"preferredBackupWindow"` 118 // The window to perform maintenance in. 119 // Syntax: "ddd:hh24:mi-ddd:hh24:mi". Eg: "Mon:00:00-Mon:03:00". 120 PreferredMaintenanceWindow pulumi.StringOutput `pulumi:"preferredMaintenanceWindow"` 121 // Default 0. Failover Priority setting on instance level. The reader who has lower tier has higher priority to get promoter to writer. 122 PromotionTier pulumi.IntPtrOutput `pulumi:"promotionTier"` 123 // Bool to control if instance is publicly accessible. Default is `false`. 124 PubliclyAccessible pulumi.BoolPtrOutput `pulumi:"publiclyAccessible"` 125 // Determines whether a final DB snapshot is created before the DB instance is deleted. 126 SkipFinalSnapshot pulumi.BoolPtrOutput `pulumi:"skipFinalSnapshot"` 127 // Specifies whether the neptune cluster is encrypted. 128 StorageEncrypted pulumi.BoolOutput `pulumi:"storageEncrypted"` 129 // Storage type associated with the cluster `standard/iopt1`. 130 StorageType pulumi.StringOutput `pulumi:"storageType"` 131 // A 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. 132 Tags pulumi.StringMapOutput `pulumi:"tags"` 133 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 134 // 135 // Deprecated: Please use `tags` instead. 136 TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"` 137 // Boolean indicating if this instance is writable. `False` indicates this instance is a read replica. 138 Writer pulumi.BoolOutput `pulumi:"writer"` 139 } 140 141 // NewClusterInstance registers a new resource with the given unique name, arguments, and options. 142 func NewClusterInstance(ctx *pulumi.Context, 143 name string, args *ClusterInstanceArgs, opts ...pulumi.ResourceOption) (*ClusterInstance, error) { 144 if args == nil { 145 return nil, errors.New("missing one or more required arguments") 146 } 147 148 if args.ClusterIdentifier == nil { 149 return nil, errors.New("invalid value for required argument 'ClusterIdentifier'") 150 } 151 if args.InstanceClass == nil { 152 return nil, errors.New("invalid value for required argument 'InstanceClass'") 153 } 154 opts = internal.PkgResourceDefaultOpts(opts) 155 var resource ClusterInstance 156 err := ctx.RegisterResource("aws:neptune/clusterInstance:ClusterInstance", name, args, &resource, opts...) 157 if err != nil { 158 return nil, err 159 } 160 return &resource, nil 161 } 162 163 // GetClusterInstance gets an existing ClusterInstance resource's state with the given name, ID, and optional 164 // state properties that are used to uniquely qualify the lookup (nil if not required). 165 func GetClusterInstance(ctx *pulumi.Context, 166 name string, id pulumi.IDInput, state *ClusterInstanceState, opts ...pulumi.ResourceOption) (*ClusterInstance, error) { 167 var resource ClusterInstance 168 err := ctx.ReadResource("aws:neptune/clusterInstance:ClusterInstance", name, id, state, &resource, opts...) 169 if err != nil { 170 return nil, err 171 } 172 return &resource, nil 173 } 174 175 // Input properties used for looking up and filtering ClusterInstance resources. 176 type clusterInstanceState struct { 177 // The hostname of the instance. See also `endpoint` and `port`. 178 Address *string `pulumi:"address"` 179 // Specifies whether any instance modifications 180 // are applied immediately, or during the next maintenance window. Default is`false`. 181 ApplyImmediately *bool `pulumi:"applyImmediately"` 182 // Amazon Resource Name (ARN) of neptune instance 183 Arn *string `pulumi:"arn"` 184 // Indicates that minor engine upgrades will be applied automatically to the instance during the maintenance window. Default is `true`. 185 AutoMinorVersionUpgrade *bool `pulumi:"autoMinorVersionUpgrade"` 186 // The EC2 Availability Zone that the neptune instance is created in. 187 AvailabilityZone *string `pulumi:"availabilityZone"` 188 // The identifier of the `neptune.Cluster` in which to launch this instance. 189 ClusterIdentifier *string `pulumi:"clusterIdentifier"` 190 // The region-unique, immutable identifier for the neptune instance. 191 DbiResourceId *string `pulumi:"dbiResourceId"` 192 // The connection endpoint in `address:port` format. 193 Endpoint *string `pulumi:"endpoint"` 194 // The name of the database engine to be used for the neptune instance. Defaults to `neptune`. Valid Values: `neptune`. 195 Engine *string `pulumi:"engine"` 196 // The neptune engine version. Currently configuring this argumnet has no effect. 197 EngineVersion *string `pulumi:"engineVersion"` 198 // The identifier for the neptune instance, if omitted, this provider will assign a random, unique identifier. 199 Identifier *string `pulumi:"identifier"` 200 // Creates a unique identifier beginning with the specified prefix. Conflicts with `identifier`. 201 IdentifierPrefix *string `pulumi:"identifierPrefix"` 202 // The instance class to use. 203 InstanceClass *string `pulumi:"instanceClass"` 204 // The ARN for the KMS encryption key if one is set to the neptune cluster. 205 KmsKeyArn *string `pulumi:"kmsKeyArn"` 206 // The name of the neptune parameter group to associate with this instance. 207 NeptuneParameterGroupName *string `pulumi:"neptuneParameterGroupName"` 208 // A subnet group to associate with this neptune instance. **NOTE:** This must match the `neptuneSubnetGroupName` of the attached `neptune.Cluster`. 209 NeptuneSubnetGroupName *string `pulumi:"neptuneSubnetGroupName"` 210 // The port on which the DB accepts connections. Defaults to `8182`. 211 Port *int `pulumi:"port"` 212 // The daily time range during which automated backups are created if automated backups are enabled. Eg: "04:00-09:00" 213 PreferredBackupWindow *string `pulumi:"preferredBackupWindow"` 214 // The window to perform maintenance in. 215 // Syntax: "ddd:hh24:mi-ddd:hh24:mi". Eg: "Mon:00:00-Mon:03:00". 216 PreferredMaintenanceWindow *string `pulumi:"preferredMaintenanceWindow"` 217 // Default 0. Failover Priority setting on instance level. The reader who has lower tier has higher priority to get promoter to writer. 218 PromotionTier *int `pulumi:"promotionTier"` 219 // Bool to control if instance is publicly accessible. Default is `false`. 220 PubliclyAccessible *bool `pulumi:"publiclyAccessible"` 221 // Determines whether a final DB snapshot is created before the DB instance is deleted. 222 SkipFinalSnapshot *bool `pulumi:"skipFinalSnapshot"` 223 // Specifies whether the neptune cluster is encrypted. 224 StorageEncrypted *bool `pulumi:"storageEncrypted"` 225 // Storage type associated with the cluster `standard/iopt1`. 226 StorageType *string `pulumi:"storageType"` 227 // A 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. 228 Tags map[string]string `pulumi:"tags"` 229 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 230 // 231 // Deprecated: Please use `tags` instead. 232 TagsAll map[string]string `pulumi:"tagsAll"` 233 // Boolean indicating if this instance is writable. `False` indicates this instance is a read replica. 234 Writer *bool `pulumi:"writer"` 235 } 236 237 type ClusterInstanceState struct { 238 // The hostname of the instance. See also `endpoint` and `port`. 239 Address pulumi.StringPtrInput 240 // Specifies whether any instance modifications 241 // are applied immediately, or during the next maintenance window. Default is`false`. 242 ApplyImmediately pulumi.BoolPtrInput 243 // Amazon Resource Name (ARN) of neptune instance 244 Arn pulumi.StringPtrInput 245 // Indicates that minor engine upgrades will be applied automatically to the instance during the maintenance window. Default is `true`. 246 AutoMinorVersionUpgrade pulumi.BoolPtrInput 247 // The EC2 Availability Zone that the neptune instance is created in. 248 AvailabilityZone pulumi.StringPtrInput 249 // The identifier of the `neptune.Cluster` in which to launch this instance. 250 ClusterIdentifier pulumi.StringPtrInput 251 // The region-unique, immutable identifier for the neptune instance. 252 DbiResourceId pulumi.StringPtrInput 253 // The connection endpoint in `address:port` format. 254 Endpoint pulumi.StringPtrInput 255 // The name of the database engine to be used for the neptune instance. Defaults to `neptune`. Valid Values: `neptune`. 256 Engine pulumi.StringPtrInput 257 // The neptune engine version. Currently configuring this argumnet has no effect. 258 EngineVersion pulumi.StringPtrInput 259 // The identifier for the neptune instance, if omitted, this provider will assign a random, unique identifier. 260 Identifier pulumi.StringPtrInput 261 // Creates a unique identifier beginning with the specified prefix. Conflicts with `identifier`. 262 IdentifierPrefix pulumi.StringPtrInput 263 // The instance class to use. 264 InstanceClass pulumi.StringPtrInput 265 // The ARN for the KMS encryption key if one is set to the neptune cluster. 266 KmsKeyArn pulumi.StringPtrInput 267 // The name of the neptune parameter group to associate with this instance. 268 NeptuneParameterGroupName pulumi.StringPtrInput 269 // A subnet group to associate with this neptune instance. **NOTE:** This must match the `neptuneSubnetGroupName` of the attached `neptune.Cluster`. 270 NeptuneSubnetGroupName pulumi.StringPtrInput 271 // The port on which the DB accepts connections. Defaults to `8182`. 272 Port pulumi.IntPtrInput 273 // The daily time range during which automated backups are created if automated backups are enabled. Eg: "04:00-09:00" 274 PreferredBackupWindow pulumi.StringPtrInput 275 // The window to perform maintenance in. 276 // Syntax: "ddd:hh24:mi-ddd:hh24:mi". Eg: "Mon:00:00-Mon:03:00". 277 PreferredMaintenanceWindow pulumi.StringPtrInput 278 // Default 0. Failover Priority setting on instance level. The reader who has lower tier has higher priority to get promoter to writer. 279 PromotionTier pulumi.IntPtrInput 280 // Bool to control if instance is publicly accessible. Default is `false`. 281 PubliclyAccessible pulumi.BoolPtrInput 282 // Determines whether a final DB snapshot is created before the DB instance is deleted. 283 SkipFinalSnapshot pulumi.BoolPtrInput 284 // Specifies whether the neptune cluster is encrypted. 285 StorageEncrypted pulumi.BoolPtrInput 286 // Storage type associated with the cluster `standard/iopt1`. 287 StorageType pulumi.StringPtrInput 288 // A 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. 289 Tags pulumi.StringMapInput 290 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 291 // 292 // Deprecated: Please use `tags` instead. 293 TagsAll pulumi.StringMapInput 294 // Boolean indicating if this instance is writable. `False` indicates this instance is a read replica. 295 Writer pulumi.BoolPtrInput 296 } 297 298 func (ClusterInstanceState) ElementType() reflect.Type { 299 return reflect.TypeOf((*clusterInstanceState)(nil)).Elem() 300 } 301 302 type clusterInstanceArgs struct { 303 // Specifies whether any instance modifications 304 // are applied immediately, or during the next maintenance window. Default is`false`. 305 ApplyImmediately *bool `pulumi:"applyImmediately"` 306 // Indicates that minor engine upgrades will be applied automatically to the instance during the maintenance window. Default is `true`. 307 AutoMinorVersionUpgrade *bool `pulumi:"autoMinorVersionUpgrade"` 308 // The EC2 Availability Zone that the neptune instance is created in. 309 AvailabilityZone *string `pulumi:"availabilityZone"` 310 // The identifier of the `neptune.Cluster` in which to launch this instance. 311 ClusterIdentifier string `pulumi:"clusterIdentifier"` 312 // The name of the database engine to be used for the neptune instance. Defaults to `neptune`. Valid Values: `neptune`. 313 Engine *string `pulumi:"engine"` 314 // The neptune engine version. Currently configuring this argumnet has no effect. 315 EngineVersion *string `pulumi:"engineVersion"` 316 // The identifier for the neptune instance, if omitted, this provider will assign a random, unique identifier. 317 Identifier *string `pulumi:"identifier"` 318 // Creates a unique identifier beginning with the specified prefix. Conflicts with `identifier`. 319 IdentifierPrefix *string `pulumi:"identifierPrefix"` 320 // The instance class to use. 321 InstanceClass string `pulumi:"instanceClass"` 322 // The name of the neptune parameter group to associate with this instance. 323 NeptuneParameterGroupName *string `pulumi:"neptuneParameterGroupName"` 324 // A subnet group to associate with this neptune instance. **NOTE:** This must match the `neptuneSubnetGroupName` of the attached `neptune.Cluster`. 325 NeptuneSubnetGroupName *string `pulumi:"neptuneSubnetGroupName"` 326 // The port on which the DB accepts connections. Defaults to `8182`. 327 Port *int `pulumi:"port"` 328 // The daily time range during which automated backups are created if automated backups are enabled. Eg: "04:00-09:00" 329 PreferredBackupWindow *string `pulumi:"preferredBackupWindow"` 330 // The window to perform maintenance in. 331 // Syntax: "ddd:hh24:mi-ddd:hh24:mi". Eg: "Mon:00:00-Mon:03:00". 332 PreferredMaintenanceWindow *string `pulumi:"preferredMaintenanceWindow"` 333 // Default 0. Failover Priority setting on instance level. The reader who has lower tier has higher priority to get promoter to writer. 334 PromotionTier *int `pulumi:"promotionTier"` 335 // Bool to control if instance is publicly accessible. Default is `false`. 336 PubliclyAccessible *bool `pulumi:"publiclyAccessible"` 337 // Determines whether a final DB snapshot is created before the DB instance is deleted. 338 SkipFinalSnapshot *bool `pulumi:"skipFinalSnapshot"` 339 // A 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. 340 Tags map[string]string `pulumi:"tags"` 341 } 342 343 // The set of arguments for constructing a ClusterInstance resource. 344 type ClusterInstanceArgs struct { 345 // Specifies whether any instance modifications 346 // are applied immediately, or during the next maintenance window. Default is`false`. 347 ApplyImmediately pulumi.BoolPtrInput 348 // Indicates that minor engine upgrades will be applied automatically to the instance during the maintenance window. Default is `true`. 349 AutoMinorVersionUpgrade pulumi.BoolPtrInput 350 // The EC2 Availability Zone that the neptune instance is created in. 351 AvailabilityZone pulumi.StringPtrInput 352 // The identifier of the `neptune.Cluster` in which to launch this instance. 353 ClusterIdentifier pulumi.StringInput 354 // The name of the database engine to be used for the neptune instance. Defaults to `neptune`. Valid Values: `neptune`. 355 Engine pulumi.StringPtrInput 356 // The neptune engine version. Currently configuring this argumnet has no effect. 357 EngineVersion pulumi.StringPtrInput 358 // The identifier for the neptune instance, if omitted, this provider will assign a random, unique identifier. 359 Identifier pulumi.StringPtrInput 360 // Creates a unique identifier beginning with the specified prefix. Conflicts with `identifier`. 361 IdentifierPrefix pulumi.StringPtrInput 362 // The instance class to use. 363 InstanceClass pulumi.StringInput 364 // The name of the neptune parameter group to associate with this instance. 365 NeptuneParameterGroupName pulumi.StringPtrInput 366 // A subnet group to associate with this neptune instance. **NOTE:** This must match the `neptuneSubnetGroupName` of the attached `neptune.Cluster`. 367 NeptuneSubnetGroupName pulumi.StringPtrInput 368 // The port on which the DB accepts connections. Defaults to `8182`. 369 Port pulumi.IntPtrInput 370 // The daily time range during which automated backups are created if automated backups are enabled. Eg: "04:00-09:00" 371 PreferredBackupWindow pulumi.StringPtrInput 372 // The window to perform maintenance in. 373 // Syntax: "ddd:hh24:mi-ddd:hh24:mi". Eg: "Mon:00:00-Mon:03:00". 374 PreferredMaintenanceWindow pulumi.StringPtrInput 375 // Default 0. Failover Priority setting on instance level. The reader who has lower tier has higher priority to get promoter to writer. 376 PromotionTier pulumi.IntPtrInput 377 // Bool to control if instance is publicly accessible. Default is `false`. 378 PubliclyAccessible pulumi.BoolPtrInput 379 // Determines whether a final DB snapshot is created before the DB instance is deleted. 380 SkipFinalSnapshot pulumi.BoolPtrInput 381 // A 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. 382 Tags pulumi.StringMapInput 383 } 384 385 func (ClusterInstanceArgs) ElementType() reflect.Type { 386 return reflect.TypeOf((*clusterInstanceArgs)(nil)).Elem() 387 } 388 389 type ClusterInstanceInput interface { 390 pulumi.Input 391 392 ToClusterInstanceOutput() ClusterInstanceOutput 393 ToClusterInstanceOutputWithContext(ctx context.Context) ClusterInstanceOutput 394 } 395 396 func (*ClusterInstance) ElementType() reflect.Type { 397 return reflect.TypeOf((**ClusterInstance)(nil)).Elem() 398 } 399 400 func (i *ClusterInstance) ToClusterInstanceOutput() ClusterInstanceOutput { 401 return i.ToClusterInstanceOutputWithContext(context.Background()) 402 } 403 404 func (i *ClusterInstance) ToClusterInstanceOutputWithContext(ctx context.Context) ClusterInstanceOutput { 405 return pulumi.ToOutputWithContext(ctx, i).(ClusterInstanceOutput) 406 } 407 408 // ClusterInstanceArrayInput is an input type that accepts ClusterInstanceArray and ClusterInstanceArrayOutput values. 409 // You can construct a concrete instance of `ClusterInstanceArrayInput` via: 410 // 411 // ClusterInstanceArray{ ClusterInstanceArgs{...} } 412 type ClusterInstanceArrayInput interface { 413 pulumi.Input 414 415 ToClusterInstanceArrayOutput() ClusterInstanceArrayOutput 416 ToClusterInstanceArrayOutputWithContext(context.Context) ClusterInstanceArrayOutput 417 } 418 419 type ClusterInstanceArray []ClusterInstanceInput 420 421 func (ClusterInstanceArray) ElementType() reflect.Type { 422 return reflect.TypeOf((*[]*ClusterInstance)(nil)).Elem() 423 } 424 425 func (i ClusterInstanceArray) ToClusterInstanceArrayOutput() ClusterInstanceArrayOutput { 426 return i.ToClusterInstanceArrayOutputWithContext(context.Background()) 427 } 428 429 func (i ClusterInstanceArray) ToClusterInstanceArrayOutputWithContext(ctx context.Context) ClusterInstanceArrayOutput { 430 return pulumi.ToOutputWithContext(ctx, i).(ClusterInstanceArrayOutput) 431 } 432 433 // ClusterInstanceMapInput is an input type that accepts ClusterInstanceMap and ClusterInstanceMapOutput values. 434 // You can construct a concrete instance of `ClusterInstanceMapInput` via: 435 // 436 // ClusterInstanceMap{ "key": ClusterInstanceArgs{...} } 437 type ClusterInstanceMapInput interface { 438 pulumi.Input 439 440 ToClusterInstanceMapOutput() ClusterInstanceMapOutput 441 ToClusterInstanceMapOutputWithContext(context.Context) ClusterInstanceMapOutput 442 } 443 444 type ClusterInstanceMap map[string]ClusterInstanceInput 445 446 func (ClusterInstanceMap) ElementType() reflect.Type { 447 return reflect.TypeOf((*map[string]*ClusterInstance)(nil)).Elem() 448 } 449 450 func (i ClusterInstanceMap) ToClusterInstanceMapOutput() ClusterInstanceMapOutput { 451 return i.ToClusterInstanceMapOutputWithContext(context.Background()) 452 } 453 454 func (i ClusterInstanceMap) ToClusterInstanceMapOutputWithContext(ctx context.Context) ClusterInstanceMapOutput { 455 return pulumi.ToOutputWithContext(ctx, i).(ClusterInstanceMapOutput) 456 } 457 458 type ClusterInstanceOutput struct{ *pulumi.OutputState } 459 460 func (ClusterInstanceOutput) ElementType() reflect.Type { 461 return reflect.TypeOf((**ClusterInstance)(nil)).Elem() 462 } 463 464 func (o ClusterInstanceOutput) ToClusterInstanceOutput() ClusterInstanceOutput { 465 return o 466 } 467 468 func (o ClusterInstanceOutput) ToClusterInstanceOutputWithContext(ctx context.Context) ClusterInstanceOutput { 469 return o 470 } 471 472 // The hostname of the instance. See also `endpoint` and `port`. 473 func (o ClusterInstanceOutput) Address() pulumi.StringOutput { 474 return o.ApplyT(func(v *ClusterInstance) pulumi.StringOutput { return v.Address }).(pulumi.StringOutput) 475 } 476 477 // Specifies whether any instance modifications 478 // are applied immediately, or during the next maintenance window. Default is`false`. 479 func (o ClusterInstanceOutput) ApplyImmediately() pulumi.BoolOutput { 480 return o.ApplyT(func(v *ClusterInstance) pulumi.BoolOutput { return v.ApplyImmediately }).(pulumi.BoolOutput) 481 } 482 483 // Amazon Resource Name (ARN) of neptune instance 484 func (o ClusterInstanceOutput) Arn() pulumi.StringOutput { 485 return o.ApplyT(func(v *ClusterInstance) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput) 486 } 487 488 // Indicates that minor engine upgrades will be applied automatically to the instance during the maintenance window. Default is `true`. 489 func (o ClusterInstanceOutput) AutoMinorVersionUpgrade() pulumi.BoolPtrOutput { 490 return o.ApplyT(func(v *ClusterInstance) pulumi.BoolPtrOutput { return v.AutoMinorVersionUpgrade }).(pulumi.BoolPtrOutput) 491 } 492 493 // The EC2 Availability Zone that the neptune instance is created in. 494 func (o ClusterInstanceOutput) AvailabilityZone() pulumi.StringOutput { 495 return o.ApplyT(func(v *ClusterInstance) pulumi.StringOutput { return v.AvailabilityZone }).(pulumi.StringOutput) 496 } 497 498 // The identifier of the `neptune.Cluster` in which to launch this instance. 499 func (o ClusterInstanceOutput) ClusterIdentifier() pulumi.StringOutput { 500 return o.ApplyT(func(v *ClusterInstance) pulumi.StringOutput { return v.ClusterIdentifier }).(pulumi.StringOutput) 501 } 502 503 // The region-unique, immutable identifier for the neptune instance. 504 func (o ClusterInstanceOutput) DbiResourceId() pulumi.StringOutput { 505 return o.ApplyT(func(v *ClusterInstance) pulumi.StringOutput { return v.DbiResourceId }).(pulumi.StringOutput) 506 } 507 508 // The connection endpoint in `address:port` format. 509 func (o ClusterInstanceOutput) Endpoint() pulumi.StringOutput { 510 return o.ApplyT(func(v *ClusterInstance) pulumi.StringOutput { return v.Endpoint }).(pulumi.StringOutput) 511 } 512 513 // The name of the database engine to be used for the neptune instance. Defaults to `neptune`. Valid Values: `neptune`. 514 func (o ClusterInstanceOutput) Engine() pulumi.StringPtrOutput { 515 return o.ApplyT(func(v *ClusterInstance) pulumi.StringPtrOutput { return v.Engine }).(pulumi.StringPtrOutput) 516 } 517 518 // The neptune engine version. Currently configuring this argumnet has no effect. 519 func (o ClusterInstanceOutput) EngineVersion() pulumi.StringOutput { 520 return o.ApplyT(func(v *ClusterInstance) pulumi.StringOutput { return v.EngineVersion }).(pulumi.StringOutput) 521 } 522 523 // The identifier for the neptune instance, if omitted, this provider will assign a random, unique identifier. 524 func (o ClusterInstanceOutput) Identifier() pulumi.StringOutput { 525 return o.ApplyT(func(v *ClusterInstance) pulumi.StringOutput { return v.Identifier }).(pulumi.StringOutput) 526 } 527 528 // Creates a unique identifier beginning with the specified prefix. Conflicts with `identifier`. 529 func (o ClusterInstanceOutput) IdentifierPrefix() pulumi.StringOutput { 530 return o.ApplyT(func(v *ClusterInstance) pulumi.StringOutput { return v.IdentifierPrefix }).(pulumi.StringOutput) 531 } 532 533 // The instance class to use. 534 func (o ClusterInstanceOutput) InstanceClass() pulumi.StringOutput { 535 return o.ApplyT(func(v *ClusterInstance) pulumi.StringOutput { return v.InstanceClass }).(pulumi.StringOutput) 536 } 537 538 // The ARN for the KMS encryption key if one is set to the neptune cluster. 539 func (o ClusterInstanceOutput) KmsKeyArn() pulumi.StringOutput { 540 return o.ApplyT(func(v *ClusterInstance) pulumi.StringOutput { return v.KmsKeyArn }).(pulumi.StringOutput) 541 } 542 543 // The name of the neptune parameter group to associate with this instance. 544 func (o ClusterInstanceOutput) NeptuneParameterGroupName() pulumi.StringPtrOutput { 545 return o.ApplyT(func(v *ClusterInstance) pulumi.StringPtrOutput { return v.NeptuneParameterGroupName }).(pulumi.StringPtrOutput) 546 } 547 548 // A subnet group to associate with this neptune instance. **NOTE:** This must match the `neptuneSubnetGroupName` of the attached `neptune.Cluster`. 549 func (o ClusterInstanceOutput) NeptuneSubnetGroupName() pulumi.StringOutput { 550 return o.ApplyT(func(v *ClusterInstance) pulumi.StringOutput { return v.NeptuneSubnetGroupName }).(pulumi.StringOutput) 551 } 552 553 // The port on which the DB accepts connections. Defaults to `8182`. 554 func (o ClusterInstanceOutput) Port() pulumi.IntPtrOutput { 555 return o.ApplyT(func(v *ClusterInstance) pulumi.IntPtrOutput { return v.Port }).(pulumi.IntPtrOutput) 556 } 557 558 // The daily time range during which automated backups are created if automated backups are enabled. Eg: "04:00-09:00" 559 func (o ClusterInstanceOutput) PreferredBackupWindow() pulumi.StringOutput { 560 return o.ApplyT(func(v *ClusterInstance) pulumi.StringOutput { return v.PreferredBackupWindow }).(pulumi.StringOutput) 561 } 562 563 // The window to perform maintenance in. 564 // Syntax: "ddd:hh24:mi-ddd:hh24:mi". Eg: "Mon:00:00-Mon:03:00". 565 func (o ClusterInstanceOutput) PreferredMaintenanceWindow() pulumi.StringOutput { 566 return o.ApplyT(func(v *ClusterInstance) pulumi.StringOutput { return v.PreferredMaintenanceWindow }).(pulumi.StringOutput) 567 } 568 569 // Default 0. Failover Priority setting on instance level. The reader who has lower tier has higher priority to get promoter to writer. 570 func (o ClusterInstanceOutput) PromotionTier() pulumi.IntPtrOutput { 571 return o.ApplyT(func(v *ClusterInstance) pulumi.IntPtrOutput { return v.PromotionTier }).(pulumi.IntPtrOutput) 572 } 573 574 // Bool to control if instance is publicly accessible. Default is `false`. 575 func (o ClusterInstanceOutput) PubliclyAccessible() pulumi.BoolPtrOutput { 576 return o.ApplyT(func(v *ClusterInstance) pulumi.BoolPtrOutput { return v.PubliclyAccessible }).(pulumi.BoolPtrOutput) 577 } 578 579 // Determines whether a final DB snapshot is created before the DB instance is deleted. 580 func (o ClusterInstanceOutput) SkipFinalSnapshot() pulumi.BoolPtrOutput { 581 return o.ApplyT(func(v *ClusterInstance) pulumi.BoolPtrOutput { return v.SkipFinalSnapshot }).(pulumi.BoolPtrOutput) 582 } 583 584 // Specifies whether the neptune cluster is encrypted. 585 func (o ClusterInstanceOutput) StorageEncrypted() pulumi.BoolOutput { 586 return o.ApplyT(func(v *ClusterInstance) pulumi.BoolOutput { return v.StorageEncrypted }).(pulumi.BoolOutput) 587 } 588 589 // Storage type associated with the cluster `standard/iopt1`. 590 func (o ClusterInstanceOutput) StorageType() pulumi.StringOutput { 591 return o.ApplyT(func(v *ClusterInstance) pulumi.StringOutput { return v.StorageType }).(pulumi.StringOutput) 592 } 593 594 // A 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. 595 func (o ClusterInstanceOutput) Tags() pulumi.StringMapOutput { 596 return o.ApplyT(func(v *ClusterInstance) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput) 597 } 598 599 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 600 // 601 // Deprecated: Please use `tags` instead. 602 func (o ClusterInstanceOutput) TagsAll() pulumi.StringMapOutput { 603 return o.ApplyT(func(v *ClusterInstance) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput) 604 } 605 606 // Boolean indicating if this instance is writable. `False` indicates this instance is a read replica. 607 func (o ClusterInstanceOutput) Writer() pulumi.BoolOutput { 608 return o.ApplyT(func(v *ClusterInstance) pulumi.BoolOutput { return v.Writer }).(pulumi.BoolOutput) 609 } 610 611 type ClusterInstanceArrayOutput struct{ *pulumi.OutputState } 612 613 func (ClusterInstanceArrayOutput) ElementType() reflect.Type { 614 return reflect.TypeOf((*[]*ClusterInstance)(nil)).Elem() 615 } 616 617 func (o ClusterInstanceArrayOutput) ToClusterInstanceArrayOutput() ClusterInstanceArrayOutput { 618 return o 619 } 620 621 func (o ClusterInstanceArrayOutput) ToClusterInstanceArrayOutputWithContext(ctx context.Context) ClusterInstanceArrayOutput { 622 return o 623 } 624 625 func (o ClusterInstanceArrayOutput) Index(i pulumi.IntInput) ClusterInstanceOutput { 626 return pulumi.All(o, i).ApplyT(func(vs []interface{}) *ClusterInstance { 627 return vs[0].([]*ClusterInstance)[vs[1].(int)] 628 }).(ClusterInstanceOutput) 629 } 630 631 type ClusterInstanceMapOutput struct{ *pulumi.OutputState } 632 633 func (ClusterInstanceMapOutput) ElementType() reflect.Type { 634 return reflect.TypeOf((*map[string]*ClusterInstance)(nil)).Elem() 635 } 636 637 func (o ClusterInstanceMapOutput) ToClusterInstanceMapOutput() ClusterInstanceMapOutput { 638 return o 639 } 640 641 func (o ClusterInstanceMapOutput) ToClusterInstanceMapOutputWithContext(ctx context.Context) ClusterInstanceMapOutput { 642 return o 643 } 644 645 func (o ClusterInstanceMapOutput) MapIndex(k pulumi.StringInput) ClusterInstanceOutput { 646 return pulumi.All(o, k).ApplyT(func(vs []interface{}) *ClusterInstance { 647 return vs[0].(map[string]*ClusterInstance)[vs[1].(string)] 648 }).(ClusterInstanceOutput) 649 } 650 651 func init() { 652 pulumi.RegisterInputType(reflect.TypeOf((*ClusterInstanceInput)(nil)).Elem(), &ClusterInstance{}) 653 pulumi.RegisterInputType(reflect.TypeOf((*ClusterInstanceArrayInput)(nil)).Elem(), ClusterInstanceArray{}) 654 pulumi.RegisterInputType(reflect.TypeOf((*ClusterInstanceMapInput)(nil)).Elem(), ClusterInstanceMap{}) 655 pulumi.RegisterOutputType(ClusterInstanceOutput{}) 656 pulumi.RegisterOutputType(ClusterInstanceArrayOutput{}) 657 pulumi.RegisterOutputType(ClusterInstanceMapOutput{}) 658 }