github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/neptune/cluster.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 "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/internal" 11 "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 12 ) 13 14 // Provides an Neptune Cluster Resource. A Cluster Resource defines attributes that are 15 // applied to the entire cluster of Neptune Cluster Instances. 16 // 17 // Changes to a Neptune Cluster can occur when you manually change a 18 // parameter, such as `backupRetentionPeriod`, and are reflected in the next maintenance 19 // window. Because of this, this provider may report a difference in its planning 20 // phase because a modification has not yet taken place. You can use the 21 // `applyImmediately` flag to instruct the service to apply the change immediately 22 // (see documentation below). 23 // 24 // ## Example Usage 25 // 26 // <!--Start PulumiCodeChooser --> 27 // ```go 28 // package main 29 // 30 // import ( 31 // 32 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/neptune" 33 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 34 // 35 // ) 36 // 37 // func main() { 38 // pulumi.Run(func(ctx *pulumi.Context) error { 39 // _, err := neptune.NewCluster(ctx, "default", &neptune.ClusterArgs{ 40 // ClusterIdentifier: pulumi.String("neptune-cluster-demo"), 41 // Engine: pulumi.String("neptune"), 42 // BackupRetentionPeriod: pulumi.Int(5), 43 // PreferredBackupWindow: pulumi.String("07:00-09:00"), 44 // SkipFinalSnapshot: pulumi.Bool(true), 45 // IamDatabaseAuthenticationEnabled: pulumi.Bool(true), 46 // ApplyImmediately: pulumi.Bool(true), 47 // }) 48 // if err != nil { 49 // return err 50 // } 51 // return nil 52 // }) 53 // } 54 // 55 // ``` 56 // <!--End PulumiCodeChooser --> 57 // 58 // > **Note:** AWS Neptune does not support user name/password–based access control. 59 // See the AWS [Docs](https://docs.aws.amazon.com/neptune/latest/userguide/limits.html) for more information. 60 // 61 // ## Import 62 // 63 // Using `pulumi import`, import `aws_neptune_cluster` using the cluster identifier. For example: 64 // 65 // ```sh 66 // $ pulumi import aws:neptune/cluster:Cluster example my-cluster 67 // ``` 68 type Cluster struct { 69 pulumi.CustomResourceState 70 71 // Specifies whether upgrades between different major versions are allowed. You must set it to `true` when providing an `engineVersion` parameter that uses a different major version than the DB cluster's current version. Default is `false`. 72 AllowMajorVersionUpgrade pulumi.BoolOutput `pulumi:"allowMajorVersionUpgrade"` 73 // Specifies whether any cluster modifications are applied immediately, or during the next maintenance window. Default is `false`. 74 ApplyImmediately pulumi.BoolOutput `pulumi:"applyImmediately"` 75 // The Neptune Cluster Amazon Resource Name (ARN) 76 Arn pulumi.StringOutput `pulumi:"arn"` 77 // A list of EC2 Availability Zones that instances in the Neptune cluster can be created in. 78 AvailabilityZones pulumi.StringArrayOutput `pulumi:"availabilityZones"` 79 // The days to retain backups for. Default `1` 80 BackupRetentionPeriod pulumi.IntPtrOutput `pulumi:"backupRetentionPeriod"` 81 // The cluster identifier. If omitted, this provider will assign a random, unique identifier. 82 ClusterIdentifier pulumi.StringOutput `pulumi:"clusterIdentifier"` 83 // Creates a unique cluster identifier beginning with the specified prefix. Conflicts with `clusterIdentifier`. 84 ClusterIdentifierPrefix pulumi.StringOutput `pulumi:"clusterIdentifierPrefix"` 85 // List of Neptune Instances that are a part of this cluster 86 ClusterMembers pulumi.StringArrayOutput `pulumi:"clusterMembers"` 87 // The Neptune Cluster Resource ID 88 ClusterResourceId pulumi.StringOutput `pulumi:"clusterResourceId"` 89 // If set to true, tags are copied to any snapshot of the DB cluster that is created. 90 CopyTagsToSnapshot pulumi.BoolPtrOutput `pulumi:"copyTagsToSnapshot"` 91 // A value that indicates whether the DB cluster has deletion protection enabled.The database can't be deleted when deletion protection is enabled. By default, deletion protection is disabled. 92 DeletionProtection pulumi.BoolPtrOutput `pulumi:"deletionProtection"` 93 // A list of the log types this DB cluster is configured to export to Cloudwatch Logs. Currently only supports `audit` and `slowquery`. 94 EnableCloudwatchLogsExports pulumi.StringArrayOutput `pulumi:"enableCloudwatchLogsExports"` 95 // The DNS address of the Neptune instance 96 Endpoint pulumi.StringOutput `pulumi:"endpoint"` 97 // The name of the database engine to be used for this Neptune cluster. Defaults to `neptune`. 98 Engine pulumi.StringPtrOutput `pulumi:"engine"` 99 // The database engine version. 100 EngineVersion pulumi.StringOutput `pulumi:"engineVersion"` 101 // The name of your final Neptune snapshot when this Neptune cluster is deleted. If omitted, no final snapshot will be made. 102 FinalSnapshotIdentifier pulumi.StringPtrOutput `pulumi:"finalSnapshotIdentifier"` 103 // The global cluster identifier specified on `neptune.GlobalCluster`. 104 GlobalClusterIdentifier pulumi.StringPtrOutput `pulumi:"globalClusterIdentifier"` 105 // The Route53 Hosted Zone ID of the endpoint 106 HostedZoneId pulumi.StringOutput `pulumi:"hostedZoneId"` 107 // Specifies whether or not mappings of AWS Identity and Access Management (IAM) accounts to database accounts is enabled. 108 IamDatabaseAuthenticationEnabled pulumi.BoolPtrOutput `pulumi:"iamDatabaseAuthenticationEnabled"` 109 // A List of ARNs for the IAM roles to associate to the Neptune Cluster. 110 IamRoles pulumi.StringArrayOutput `pulumi:"iamRoles"` 111 // The ARN for the KMS encryption key. When specifying `kmsKeyArn`, `storageEncrypted` needs to be set to true. 112 KmsKeyArn pulumi.StringOutput `pulumi:"kmsKeyArn"` 113 // A cluster parameter group to associate with the cluster. 114 NeptuneClusterParameterGroupName pulumi.StringPtrOutput `pulumi:"neptuneClusterParameterGroupName"` 115 // The name of the DB parameter group to apply to all instances of the DB cluster. 116 NeptuneInstanceParameterGroupName pulumi.StringPtrOutput `pulumi:"neptuneInstanceParameterGroupName"` 117 // A Neptune subnet group to associate with this Neptune instance. 118 NeptuneSubnetGroupName pulumi.StringOutput `pulumi:"neptuneSubnetGroupName"` 119 // The port on which the Neptune accepts connections. Default is `8182`. 120 Port pulumi.IntPtrOutput `pulumi:"port"` 121 // The daily time range during which automated backups are created if automated backups are enabled using the BackupRetentionPeriod parameter. Time in UTC. Default: A 30-minute window selected at random from an 8-hour block of time per regionE.g., 04:00-09:00 122 PreferredBackupWindow pulumi.StringOutput `pulumi:"preferredBackupWindow"` 123 // The weekly time range during which system maintenance can occur, in (UTC) e.g., wed:04:00-wed:04:30 124 PreferredMaintenanceWindow pulumi.StringOutput `pulumi:"preferredMaintenanceWindow"` 125 // A read-only endpoint for the Neptune cluster, automatically load-balanced across replicas 126 ReaderEndpoint pulumi.StringOutput `pulumi:"readerEndpoint"` 127 // ARN of a source Neptune cluster or Neptune instance if this Neptune cluster is to be created as a Read Replica. 128 ReplicationSourceIdentifier pulumi.StringPtrOutput `pulumi:"replicationSourceIdentifier"` 129 // If set, create the Neptune cluster as a serverless one. See Serverless for example block attributes. 130 ServerlessV2ScalingConfiguration ClusterServerlessV2ScalingConfigurationPtrOutput `pulumi:"serverlessV2ScalingConfiguration"` 131 // Determines whether a final Neptune snapshot is created before the Neptune cluster is deleted. If true is specified, no Neptune snapshot is created. If false is specified, a Neptune snapshot is created before the Neptune cluster is deleted, using the value from `finalSnapshotIdentifier`. Default is `false`. 132 SkipFinalSnapshot pulumi.BoolPtrOutput `pulumi:"skipFinalSnapshot"` 133 // Specifies whether or not to create this cluster from a snapshot. You can use either the name or ARN when specifying a Neptune cluster snapshot, or the ARN when specifying a Neptune snapshot. Automated snapshots **should not** be used for this attribute, unless from a different cluster. Automated snapshots are deleted as part of cluster destruction when the resource is replaced. 134 SnapshotIdentifier pulumi.StringPtrOutput `pulumi:"snapshotIdentifier"` 135 // Specifies whether the Neptune cluster is encrypted. The default is `false` if not specified. 136 StorageEncrypted pulumi.BoolPtrOutput `pulumi:"storageEncrypted"` 137 // Storage type associated with the cluster `standard/iopt1`. Default: `standard` 138 StorageType pulumi.StringOutput `pulumi:"storageType"` 139 // A map of tags to assign to the Neptune cluster. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 140 Tags pulumi.StringMapOutput `pulumi:"tags"` 141 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 142 // 143 // Deprecated: Please use `tags` instead. 144 TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"` 145 // List of VPC security groups to associate with the Cluster 146 VpcSecurityGroupIds pulumi.StringArrayOutput `pulumi:"vpcSecurityGroupIds"` 147 } 148 149 // NewCluster registers a new resource with the given unique name, arguments, and options. 150 func NewCluster(ctx *pulumi.Context, 151 name string, args *ClusterArgs, opts ...pulumi.ResourceOption) (*Cluster, error) { 152 if args == nil { 153 args = &ClusterArgs{} 154 } 155 156 opts = internal.PkgResourceDefaultOpts(opts) 157 var resource Cluster 158 err := ctx.RegisterResource("aws:neptune/cluster:Cluster", name, args, &resource, opts...) 159 if err != nil { 160 return nil, err 161 } 162 return &resource, nil 163 } 164 165 // GetCluster gets an existing Cluster resource's state with the given name, ID, and optional 166 // state properties that are used to uniquely qualify the lookup (nil if not required). 167 func GetCluster(ctx *pulumi.Context, 168 name string, id pulumi.IDInput, state *ClusterState, opts ...pulumi.ResourceOption) (*Cluster, error) { 169 var resource Cluster 170 err := ctx.ReadResource("aws:neptune/cluster:Cluster", name, id, state, &resource, opts...) 171 if err != nil { 172 return nil, err 173 } 174 return &resource, nil 175 } 176 177 // Input properties used for looking up and filtering Cluster resources. 178 type clusterState struct { 179 // Specifies whether upgrades between different major versions are allowed. You must set it to `true` when providing an `engineVersion` parameter that uses a different major version than the DB cluster's current version. Default is `false`. 180 AllowMajorVersionUpgrade *bool `pulumi:"allowMajorVersionUpgrade"` 181 // Specifies whether any cluster modifications are applied immediately, or during the next maintenance window. Default is `false`. 182 ApplyImmediately *bool `pulumi:"applyImmediately"` 183 // The Neptune Cluster Amazon Resource Name (ARN) 184 Arn *string `pulumi:"arn"` 185 // A list of EC2 Availability Zones that instances in the Neptune cluster can be created in. 186 AvailabilityZones []string `pulumi:"availabilityZones"` 187 // The days to retain backups for. Default `1` 188 BackupRetentionPeriod *int `pulumi:"backupRetentionPeriod"` 189 // The cluster identifier. If omitted, this provider will assign a random, unique identifier. 190 ClusterIdentifier *string `pulumi:"clusterIdentifier"` 191 // Creates a unique cluster identifier beginning with the specified prefix. Conflicts with `clusterIdentifier`. 192 ClusterIdentifierPrefix *string `pulumi:"clusterIdentifierPrefix"` 193 // List of Neptune Instances that are a part of this cluster 194 ClusterMembers []string `pulumi:"clusterMembers"` 195 // The Neptune Cluster Resource ID 196 ClusterResourceId *string `pulumi:"clusterResourceId"` 197 // If set to true, tags are copied to any snapshot of the DB cluster that is created. 198 CopyTagsToSnapshot *bool `pulumi:"copyTagsToSnapshot"` 199 // A value that indicates whether the DB cluster has deletion protection enabled.The database can't be deleted when deletion protection is enabled. By default, deletion protection is disabled. 200 DeletionProtection *bool `pulumi:"deletionProtection"` 201 // A list of the log types this DB cluster is configured to export to Cloudwatch Logs. Currently only supports `audit` and `slowquery`. 202 EnableCloudwatchLogsExports []string `pulumi:"enableCloudwatchLogsExports"` 203 // The DNS address of the Neptune instance 204 Endpoint *string `pulumi:"endpoint"` 205 // The name of the database engine to be used for this Neptune cluster. Defaults to `neptune`. 206 Engine *string `pulumi:"engine"` 207 // The database engine version. 208 EngineVersion *string `pulumi:"engineVersion"` 209 // The name of your final Neptune snapshot when this Neptune cluster is deleted. If omitted, no final snapshot will be made. 210 FinalSnapshotIdentifier *string `pulumi:"finalSnapshotIdentifier"` 211 // The global cluster identifier specified on `neptune.GlobalCluster`. 212 GlobalClusterIdentifier *string `pulumi:"globalClusterIdentifier"` 213 // The Route53 Hosted Zone ID of the endpoint 214 HostedZoneId *string `pulumi:"hostedZoneId"` 215 // Specifies whether or not mappings of AWS Identity and Access Management (IAM) accounts to database accounts is enabled. 216 IamDatabaseAuthenticationEnabled *bool `pulumi:"iamDatabaseAuthenticationEnabled"` 217 // A List of ARNs for the IAM roles to associate to the Neptune Cluster. 218 IamRoles []string `pulumi:"iamRoles"` 219 // The ARN for the KMS encryption key. When specifying `kmsKeyArn`, `storageEncrypted` needs to be set to true. 220 KmsKeyArn *string `pulumi:"kmsKeyArn"` 221 // A cluster parameter group to associate with the cluster. 222 NeptuneClusterParameterGroupName *string `pulumi:"neptuneClusterParameterGroupName"` 223 // The name of the DB parameter group to apply to all instances of the DB cluster. 224 NeptuneInstanceParameterGroupName *string `pulumi:"neptuneInstanceParameterGroupName"` 225 // A Neptune subnet group to associate with this Neptune instance. 226 NeptuneSubnetGroupName *string `pulumi:"neptuneSubnetGroupName"` 227 // The port on which the Neptune accepts connections. Default is `8182`. 228 Port *int `pulumi:"port"` 229 // The daily time range during which automated backups are created if automated backups are enabled using the BackupRetentionPeriod parameter. Time in UTC. Default: A 30-minute window selected at random from an 8-hour block of time per regionE.g., 04:00-09:00 230 PreferredBackupWindow *string `pulumi:"preferredBackupWindow"` 231 // The weekly time range during which system maintenance can occur, in (UTC) e.g., wed:04:00-wed:04:30 232 PreferredMaintenanceWindow *string `pulumi:"preferredMaintenanceWindow"` 233 // A read-only endpoint for the Neptune cluster, automatically load-balanced across replicas 234 ReaderEndpoint *string `pulumi:"readerEndpoint"` 235 // ARN of a source Neptune cluster or Neptune instance if this Neptune cluster is to be created as a Read Replica. 236 ReplicationSourceIdentifier *string `pulumi:"replicationSourceIdentifier"` 237 // If set, create the Neptune cluster as a serverless one. See Serverless for example block attributes. 238 ServerlessV2ScalingConfiguration *ClusterServerlessV2ScalingConfiguration `pulumi:"serverlessV2ScalingConfiguration"` 239 // Determines whether a final Neptune snapshot is created before the Neptune cluster is deleted. If true is specified, no Neptune snapshot is created. If false is specified, a Neptune snapshot is created before the Neptune cluster is deleted, using the value from `finalSnapshotIdentifier`. Default is `false`. 240 SkipFinalSnapshot *bool `pulumi:"skipFinalSnapshot"` 241 // Specifies whether or not to create this cluster from a snapshot. You can use either the name or ARN when specifying a Neptune cluster snapshot, or the ARN when specifying a Neptune snapshot. Automated snapshots **should not** be used for this attribute, unless from a different cluster. Automated snapshots are deleted as part of cluster destruction when the resource is replaced. 242 SnapshotIdentifier *string `pulumi:"snapshotIdentifier"` 243 // Specifies whether the Neptune cluster is encrypted. The default is `false` if not specified. 244 StorageEncrypted *bool `pulumi:"storageEncrypted"` 245 // Storage type associated with the cluster `standard/iopt1`. Default: `standard` 246 StorageType *string `pulumi:"storageType"` 247 // A map of tags to assign to the Neptune cluster. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 248 Tags map[string]string `pulumi:"tags"` 249 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 250 // 251 // Deprecated: Please use `tags` instead. 252 TagsAll map[string]string `pulumi:"tagsAll"` 253 // List of VPC security groups to associate with the Cluster 254 VpcSecurityGroupIds []string `pulumi:"vpcSecurityGroupIds"` 255 } 256 257 type ClusterState struct { 258 // Specifies whether upgrades between different major versions are allowed. You must set it to `true` when providing an `engineVersion` parameter that uses a different major version than the DB cluster's current version. Default is `false`. 259 AllowMajorVersionUpgrade pulumi.BoolPtrInput 260 // Specifies whether any cluster modifications are applied immediately, or during the next maintenance window. Default is `false`. 261 ApplyImmediately pulumi.BoolPtrInput 262 // The Neptune Cluster Amazon Resource Name (ARN) 263 Arn pulumi.StringPtrInput 264 // A list of EC2 Availability Zones that instances in the Neptune cluster can be created in. 265 AvailabilityZones pulumi.StringArrayInput 266 // The days to retain backups for. Default `1` 267 BackupRetentionPeriod pulumi.IntPtrInput 268 // The cluster identifier. If omitted, this provider will assign a random, unique identifier. 269 ClusterIdentifier pulumi.StringPtrInput 270 // Creates a unique cluster identifier beginning with the specified prefix. Conflicts with `clusterIdentifier`. 271 ClusterIdentifierPrefix pulumi.StringPtrInput 272 // List of Neptune Instances that are a part of this cluster 273 ClusterMembers pulumi.StringArrayInput 274 // The Neptune Cluster Resource ID 275 ClusterResourceId pulumi.StringPtrInput 276 // If set to true, tags are copied to any snapshot of the DB cluster that is created. 277 CopyTagsToSnapshot pulumi.BoolPtrInput 278 // A value that indicates whether the DB cluster has deletion protection enabled.The database can't be deleted when deletion protection is enabled. By default, deletion protection is disabled. 279 DeletionProtection pulumi.BoolPtrInput 280 // A list of the log types this DB cluster is configured to export to Cloudwatch Logs. Currently only supports `audit` and `slowquery`. 281 EnableCloudwatchLogsExports pulumi.StringArrayInput 282 // The DNS address of the Neptune instance 283 Endpoint pulumi.StringPtrInput 284 // The name of the database engine to be used for this Neptune cluster. Defaults to `neptune`. 285 Engine pulumi.StringPtrInput 286 // The database engine version. 287 EngineVersion pulumi.StringPtrInput 288 // The name of your final Neptune snapshot when this Neptune cluster is deleted. If omitted, no final snapshot will be made. 289 FinalSnapshotIdentifier pulumi.StringPtrInput 290 // The global cluster identifier specified on `neptune.GlobalCluster`. 291 GlobalClusterIdentifier pulumi.StringPtrInput 292 // The Route53 Hosted Zone ID of the endpoint 293 HostedZoneId pulumi.StringPtrInput 294 // Specifies whether or not mappings of AWS Identity and Access Management (IAM) accounts to database accounts is enabled. 295 IamDatabaseAuthenticationEnabled pulumi.BoolPtrInput 296 // A List of ARNs for the IAM roles to associate to the Neptune Cluster. 297 IamRoles pulumi.StringArrayInput 298 // The ARN for the KMS encryption key. When specifying `kmsKeyArn`, `storageEncrypted` needs to be set to true. 299 KmsKeyArn pulumi.StringPtrInput 300 // A cluster parameter group to associate with the cluster. 301 NeptuneClusterParameterGroupName pulumi.StringPtrInput 302 // The name of the DB parameter group to apply to all instances of the DB cluster. 303 NeptuneInstanceParameterGroupName pulumi.StringPtrInput 304 // A Neptune subnet group to associate with this Neptune instance. 305 NeptuneSubnetGroupName pulumi.StringPtrInput 306 // The port on which the Neptune accepts connections. Default is `8182`. 307 Port pulumi.IntPtrInput 308 // The daily time range during which automated backups are created if automated backups are enabled using the BackupRetentionPeriod parameter. Time in UTC. Default: A 30-minute window selected at random from an 8-hour block of time per regionE.g., 04:00-09:00 309 PreferredBackupWindow pulumi.StringPtrInput 310 // The weekly time range during which system maintenance can occur, in (UTC) e.g., wed:04:00-wed:04:30 311 PreferredMaintenanceWindow pulumi.StringPtrInput 312 // A read-only endpoint for the Neptune cluster, automatically load-balanced across replicas 313 ReaderEndpoint pulumi.StringPtrInput 314 // ARN of a source Neptune cluster or Neptune instance if this Neptune cluster is to be created as a Read Replica. 315 ReplicationSourceIdentifier pulumi.StringPtrInput 316 // If set, create the Neptune cluster as a serverless one. See Serverless for example block attributes. 317 ServerlessV2ScalingConfiguration ClusterServerlessV2ScalingConfigurationPtrInput 318 // Determines whether a final Neptune snapshot is created before the Neptune cluster is deleted. If true is specified, no Neptune snapshot is created. If false is specified, a Neptune snapshot is created before the Neptune cluster is deleted, using the value from `finalSnapshotIdentifier`. Default is `false`. 319 SkipFinalSnapshot pulumi.BoolPtrInput 320 // Specifies whether or not to create this cluster from a snapshot. You can use either the name or ARN when specifying a Neptune cluster snapshot, or the ARN when specifying a Neptune snapshot. Automated snapshots **should not** be used for this attribute, unless from a different cluster. Automated snapshots are deleted as part of cluster destruction when the resource is replaced. 321 SnapshotIdentifier pulumi.StringPtrInput 322 // Specifies whether the Neptune cluster is encrypted. The default is `false` if not specified. 323 StorageEncrypted pulumi.BoolPtrInput 324 // Storage type associated with the cluster `standard/iopt1`. Default: `standard` 325 StorageType pulumi.StringPtrInput 326 // A map of tags to assign to the Neptune cluster. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 327 Tags pulumi.StringMapInput 328 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 329 // 330 // Deprecated: Please use `tags` instead. 331 TagsAll pulumi.StringMapInput 332 // List of VPC security groups to associate with the Cluster 333 VpcSecurityGroupIds pulumi.StringArrayInput 334 } 335 336 func (ClusterState) ElementType() reflect.Type { 337 return reflect.TypeOf((*clusterState)(nil)).Elem() 338 } 339 340 type clusterArgs struct { 341 // Specifies whether upgrades between different major versions are allowed. You must set it to `true` when providing an `engineVersion` parameter that uses a different major version than the DB cluster's current version. Default is `false`. 342 AllowMajorVersionUpgrade *bool `pulumi:"allowMajorVersionUpgrade"` 343 // Specifies whether any cluster modifications are applied immediately, or during the next maintenance window. Default is `false`. 344 ApplyImmediately *bool `pulumi:"applyImmediately"` 345 // A list of EC2 Availability Zones that instances in the Neptune cluster can be created in. 346 AvailabilityZones []string `pulumi:"availabilityZones"` 347 // The days to retain backups for. Default `1` 348 BackupRetentionPeriod *int `pulumi:"backupRetentionPeriod"` 349 // The cluster identifier. If omitted, this provider will assign a random, unique identifier. 350 ClusterIdentifier *string `pulumi:"clusterIdentifier"` 351 // Creates a unique cluster identifier beginning with the specified prefix. Conflicts with `clusterIdentifier`. 352 ClusterIdentifierPrefix *string `pulumi:"clusterIdentifierPrefix"` 353 // If set to true, tags are copied to any snapshot of the DB cluster that is created. 354 CopyTagsToSnapshot *bool `pulumi:"copyTagsToSnapshot"` 355 // A value that indicates whether the DB cluster has deletion protection enabled.The database can't be deleted when deletion protection is enabled. By default, deletion protection is disabled. 356 DeletionProtection *bool `pulumi:"deletionProtection"` 357 // A list of the log types this DB cluster is configured to export to Cloudwatch Logs. Currently only supports `audit` and `slowquery`. 358 EnableCloudwatchLogsExports []string `pulumi:"enableCloudwatchLogsExports"` 359 // The name of the database engine to be used for this Neptune cluster. Defaults to `neptune`. 360 Engine *string `pulumi:"engine"` 361 // The database engine version. 362 EngineVersion *string `pulumi:"engineVersion"` 363 // The name of your final Neptune snapshot when this Neptune cluster is deleted. If omitted, no final snapshot will be made. 364 FinalSnapshotIdentifier *string `pulumi:"finalSnapshotIdentifier"` 365 // The global cluster identifier specified on `neptune.GlobalCluster`. 366 GlobalClusterIdentifier *string `pulumi:"globalClusterIdentifier"` 367 // Specifies whether or not mappings of AWS Identity and Access Management (IAM) accounts to database accounts is enabled. 368 IamDatabaseAuthenticationEnabled *bool `pulumi:"iamDatabaseAuthenticationEnabled"` 369 // A List of ARNs for the IAM roles to associate to the Neptune Cluster. 370 IamRoles []string `pulumi:"iamRoles"` 371 // The ARN for the KMS encryption key. When specifying `kmsKeyArn`, `storageEncrypted` needs to be set to true. 372 KmsKeyArn *string `pulumi:"kmsKeyArn"` 373 // A cluster parameter group to associate with the cluster. 374 NeptuneClusterParameterGroupName *string `pulumi:"neptuneClusterParameterGroupName"` 375 // The name of the DB parameter group to apply to all instances of the DB cluster. 376 NeptuneInstanceParameterGroupName *string `pulumi:"neptuneInstanceParameterGroupName"` 377 // A Neptune subnet group to associate with this Neptune instance. 378 NeptuneSubnetGroupName *string `pulumi:"neptuneSubnetGroupName"` 379 // The port on which the Neptune accepts connections. Default is `8182`. 380 Port *int `pulumi:"port"` 381 // The daily time range during which automated backups are created if automated backups are enabled using the BackupRetentionPeriod parameter. Time in UTC. Default: A 30-minute window selected at random from an 8-hour block of time per regionE.g., 04:00-09:00 382 PreferredBackupWindow *string `pulumi:"preferredBackupWindow"` 383 // The weekly time range during which system maintenance can occur, in (UTC) e.g., wed:04:00-wed:04:30 384 PreferredMaintenanceWindow *string `pulumi:"preferredMaintenanceWindow"` 385 // ARN of a source Neptune cluster or Neptune instance if this Neptune cluster is to be created as a Read Replica. 386 ReplicationSourceIdentifier *string `pulumi:"replicationSourceIdentifier"` 387 // If set, create the Neptune cluster as a serverless one. See Serverless for example block attributes. 388 ServerlessV2ScalingConfiguration *ClusterServerlessV2ScalingConfiguration `pulumi:"serverlessV2ScalingConfiguration"` 389 // Determines whether a final Neptune snapshot is created before the Neptune cluster is deleted. If true is specified, no Neptune snapshot is created. If false is specified, a Neptune snapshot is created before the Neptune cluster is deleted, using the value from `finalSnapshotIdentifier`. Default is `false`. 390 SkipFinalSnapshot *bool `pulumi:"skipFinalSnapshot"` 391 // Specifies whether or not to create this cluster from a snapshot. You can use either the name or ARN when specifying a Neptune cluster snapshot, or the ARN when specifying a Neptune snapshot. Automated snapshots **should not** be used for this attribute, unless from a different cluster. Automated snapshots are deleted as part of cluster destruction when the resource is replaced. 392 SnapshotIdentifier *string `pulumi:"snapshotIdentifier"` 393 // Specifies whether the Neptune cluster is encrypted. The default is `false` if not specified. 394 StorageEncrypted *bool `pulumi:"storageEncrypted"` 395 // Storage type associated with the cluster `standard/iopt1`. Default: `standard` 396 StorageType *string `pulumi:"storageType"` 397 // A map of tags to assign to the Neptune cluster. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 398 Tags map[string]string `pulumi:"tags"` 399 // List of VPC security groups to associate with the Cluster 400 VpcSecurityGroupIds []string `pulumi:"vpcSecurityGroupIds"` 401 } 402 403 // The set of arguments for constructing a Cluster resource. 404 type ClusterArgs struct { 405 // Specifies whether upgrades between different major versions are allowed. You must set it to `true` when providing an `engineVersion` parameter that uses a different major version than the DB cluster's current version. Default is `false`. 406 AllowMajorVersionUpgrade pulumi.BoolPtrInput 407 // Specifies whether any cluster modifications are applied immediately, or during the next maintenance window. Default is `false`. 408 ApplyImmediately pulumi.BoolPtrInput 409 // A list of EC2 Availability Zones that instances in the Neptune cluster can be created in. 410 AvailabilityZones pulumi.StringArrayInput 411 // The days to retain backups for. Default `1` 412 BackupRetentionPeriod pulumi.IntPtrInput 413 // The cluster identifier. If omitted, this provider will assign a random, unique identifier. 414 ClusterIdentifier pulumi.StringPtrInput 415 // Creates a unique cluster identifier beginning with the specified prefix. Conflicts with `clusterIdentifier`. 416 ClusterIdentifierPrefix pulumi.StringPtrInput 417 // If set to true, tags are copied to any snapshot of the DB cluster that is created. 418 CopyTagsToSnapshot pulumi.BoolPtrInput 419 // A value that indicates whether the DB cluster has deletion protection enabled.The database can't be deleted when deletion protection is enabled. By default, deletion protection is disabled. 420 DeletionProtection pulumi.BoolPtrInput 421 // A list of the log types this DB cluster is configured to export to Cloudwatch Logs. Currently only supports `audit` and `slowquery`. 422 EnableCloudwatchLogsExports pulumi.StringArrayInput 423 // The name of the database engine to be used for this Neptune cluster. Defaults to `neptune`. 424 Engine pulumi.StringPtrInput 425 // The database engine version. 426 EngineVersion pulumi.StringPtrInput 427 // The name of your final Neptune snapshot when this Neptune cluster is deleted. If omitted, no final snapshot will be made. 428 FinalSnapshotIdentifier pulumi.StringPtrInput 429 // The global cluster identifier specified on `neptune.GlobalCluster`. 430 GlobalClusterIdentifier pulumi.StringPtrInput 431 // Specifies whether or not mappings of AWS Identity and Access Management (IAM) accounts to database accounts is enabled. 432 IamDatabaseAuthenticationEnabled pulumi.BoolPtrInput 433 // A List of ARNs for the IAM roles to associate to the Neptune Cluster. 434 IamRoles pulumi.StringArrayInput 435 // The ARN for the KMS encryption key. When specifying `kmsKeyArn`, `storageEncrypted` needs to be set to true. 436 KmsKeyArn pulumi.StringPtrInput 437 // A cluster parameter group to associate with the cluster. 438 NeptuneClusterParameterGroupName pulumi.StringPtrInput 439 // The name of the DB parameter group to apply to all instances of the DB cluster. 440 NeptuneInstanceParameterGroupName pulumi.StringPtrInput 441 // A Neptune subnet group to associate with this Neptune instance. 442 NeptuneSubnetGroupName pulumi.StringPtrInput 443 // The port on which the Neptune accepts connections. Default is `8182`. 444 Port pulumi.IntPtrInput 445 // The daily time range during which automated backups are created if automated backups are enabled using the BackupRetentionPeriod parameter. Time in UTC. Default: A 30-minute window selected at random from an 8-hour block of time per regionE.g., 04:00-09:00 446 PreferredBackupWindow pulumi.StringPtrInput 447 // The weekly time range during which system maintenance can occur, in (UTC) e.g., wed:04:00-wed:04:30 448 PreferredMaintenanceWindow pulumi.StringPtrInput 449 // ARN of a source Neptune cluster or Neptune instance if this Neptune cluster is to be created as a Read Replica. 450 ReplicationSourceIdentifier pulumi.StringPtrInput 451 // If set, create the Neptune cluster as a serverless one. See Serverless for example block attributes. 452 ServerlessV2ScalingConfiguration ClusterServerlessV2ScalingConfigurationPtrInput 453 // Determines whether a final Neptune snapshot is created before the Neptune cluster is deleted. If true is specified, no Neptune snapshot is created. If false is specified, a Neptune snapshot is created before the Neptune cluster is deleted, using the value from `finalSnapshotIdentifier`. Default is `false`. 454 SkipFinalSnapshot pulumi.BoolPtrInput 455 // Specifies whether or not to create this cluster from a snapshot. You can use either the name or ARN when specifying a Neptune cluster snapshot, or the ARN when specifying a Neptune snapshot. Automated snapshots **should not** be used for this attribute, unless from a different cluster. Automated snapshots are deleted as part of cluster destruction when the resource is replaced. 456 SnapshotIdentifier pulumi.StringPtrInput 457 // Specifies whether the Neptune cluster is encrypted. The default is `false` if not specified. 458 StorageEncrypted pulumi.BoolPtrInput 459 // Storage type associated with the cluster `standard/iopt1`. Default: `standard` 460 StorageType pulumi.StringPtrInput 461 // A map of tags to assign to the Neptune cluster. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 462 Tags pulumi.StringMapInput 463 // List of VPC security groups to associate with the Cluster 464 VpcSecurityGroupIds pulumi.StringArrayInput 465 } 466 467 func (ClusterArgs) ElementType() reflect.Type { 468 return reflect.TypeOf((*clusterArgs)(nil)).Elem() 469 } 470 471 type ClusterInput interface { 472 pulumi.Input 473 474 ToClusterOutput() ClusterOutput 475 ToClusterOutputWithContext(ctx context.Context) ClusterOutput 476 } 477 478 func (*Cluster) ElementType() reflect.Type { 479 return reflect.TypeOf((**Cluster)(nil)).Elem() 480 } 481 482 func (i *Cluster) ToClusterOutput() ClusterOutput { 483 return i.ToClusterOutputWithContext(context.Background()) 484 } 485 486 func (i *Cluster) ToClusterOutputWithContext(ctx context.Context) ClusterOutput { 487 return pulumi.ToOutputWithContext(ctx, i).(ClusterOutput) 488 } 489 490 // ClusterArrayInput is an input type that accepts ClusterArray and ClusterArrayOutput values. 491 // You can construct a concrete instance of `ClusterArrayInput` via: 492 // 493 // ClusterArray{ ClusterArgs{...} } 494 type ClusterArrayInput interface { 495 pulumi.Input 496 497 ToClusterArrayOutput() ClusterArrayOutput 498 ToClusterArrayOutputWithContext(context.Context) ClusterArrayOutput 499 } 500 501 type ClusterArray []ClusterInput 502 503 func (ClusterArray) ElementType() reflect.Type { 504 return reflect.TypeOf((*[]*Cluster)(nil)).Elem() 505 } 506 507 func (i ClusterArray) ToClusterArrayOutput() ClusterArrayOutput { 508 return i.ToClusterArrayOutputWithContext(context.Background()) 509 } 510 511 func (i ClusterArray) ToClusterArrayOutputWithContext(ctx context.Context) ClusterArrayOutput { 512 return pulumi.ToOutputWithContext(ctx, i).(ClusterArrayOutput) 513 } 514 515 // ClusterMapInput is an input type that accepts ClusterMap and ClusterMapOutput values. 516 // You can construct a concrete instance of `ClusterMapInput` via: 517 // 518 // ClusterMap{ "key": ClusterArgs{...} } 519 type ClusterMapInput interface { 520 pulumi.Input 521 522 ToClusterMapOutput() ClusterMapOutput 523 ToClusterMapOutputWithContext(context.Context) ClusterMapOutput 524 } 525 526 type ClusterMap map[string]ClusterInput 527 528 func (ClusterMap) ElementType() reflect.Type { 529 return reflect.TypeOf((*map[string]*Cluster)(nil)).Elem() 530 } 531 532 func (i ClusterMap) ToClusterMapOutput() ClusterMapOutput { 533 return i.ToClusterMapOutputWithContext(context.Background()) 534 } 535 536 func (i ClusterMap) ToClusterMapOutputWithContext(ctx context.Context) ClusterMapOutput { 537 return pulumi.ToOutputWithContext(ctx, i).(ClusterMapOutput) 538 } 539 540 type ClusterOutput struct{ *pulumi.OutputState } 541 542 func (ClusterOutput) ElementType() reflect.Type { 543 return reflect.TypeOf((**Cluster)(nil)).Elem() 544 } 545 546 func (o ClusterOutput) ToClusterOutput() ClusterOutput { 547 return o 548 } 549 550 func (o ClusterOutput) ToClusterOutputWithContext(ctx context.Context) ClusterOutput { 551 return o 552 } 553 554 // Specifies whether upgrades between different major versions are allowed. You must set it to `true` when providing an `engineVersion` parameter that uses a different major version than the DB cluster's current version. Default is `false`. 555 func (o ClusterOutput) AllowMajorVersionUpgrade() pulumi.BoolOutput { 556 return o.ApplyT(func(v *Cluster) pulumi.BoolOutput { return v.AllowMajorVersionUpgrade }).(pulumi.BoolOutput) 557 } 558 559 // Specifies whether any cluster modifications are applied immediately, or during the next maintenance window. Default is `false`. 560 func (o ClusterOutput) ApplyImmediately() pulumi.BoolOutput { 561 return o.ApplyT(func(v *Cluster) pulumi.BoolOutput { return v.ApplyImmediately }).(pulumi.BoolOutput) 562 } 563 564 // The Neptune Cluster Amazon Resource Name (ARN) 565 func (o ClusterOutput) Arn() pulumi.StringOutput { 566 return o.ApplyT(func(v *Cluster) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput) 567 } 568 569 // A list of EC2 Availability Zones that instances in the Neptune cluster can be created in. 570 func (o ClusterOutput) AvailabilityZones() pulumi.StringArrayOutput { 571 return o.ApplyT(func(v *Cluster) pulumi.StringArrayOutput { return v.AvailabilityZones }).(pulumi.StringArrayOutput) 572 } 573 574 // The days to retain backups for. Default `1` 575 func (o ClusterOutput) BackupRetentionPeriod() pulumi.IntPtrOutput { 576 return o.ApplyT(func(v *Cluster) pulumi.IntPtrOutput { return v.BackupRetentionPeriod }).(pulumi.IntPtrOutput) 577 } 578 579 // The cluster identifier. If omitted, this provider will assign a random, unique identifier. 580 func (o ClusterOutput) ClusterIdentifier() pulumi.StringOutput { 581 return o.ApplyT(func(v *Cluster) pulumi.StringOutput { return v.ClusterIdentifier }).(pulumi.StringOutput) 582 } 583 584 // Creates a unique cluster identifier beginning with the specified prefix. Conflicts with `clusterIdentifier`. 585 func (o ClusterOutput) ClusterIdentifierPrefix() pulumi.StringOutput { 586 return o.ApplyT(func(v *Cluster) pulumi.StringOutput { return v.ClusterIdentifierPrefix }).(pulumi.StringOutput) 587 } 588 589 // List of Neptune Instances that are a part of this cluster 590 func (o ClusterOutput) ClusterMembers() pulumi.StringArrayOutput { 591 return o.ApplyT(func(v *Cluster) pulumi.StringArrayOutput { return v.ClusterMembers }).(pulumi.StringArrayOutput) 592 } 593 594 // The Neptune Cluster Resource ID 595 func (o ClusterOutput) ClusterResourceId() pulumi.StringOutput { 596 return o.ApplyT(func(v *Cluster) pulumi.StringOutput { return v.ClusterResourceId }).(pulumi.StringOutput) 597 } 598 599 // If set to true, tags are copied to any snapshot of the DB cluster that is created. 600 func (o ClusterOutput) CopyTagsToSnapshot() pulumi.BoolPtrOutput { 601 return o.ApplyT(func(v *Cluster) pulumi.BoolPtrOutput { return v.CopyTagsToSnapshot }).(pulumi.BoolPtrOutput) 602 } 603 604 // A value that indicates whether the DB cluster has deletion protection enabled.The database can't be deleted when deletion protection is enabled. By default, deletion protection is disabled. 605 func (o ClusterOutput) DeletionProtection() pulumi.BoolPtrOutput { 606 return o.ApplyT(func(v *Cluster) pulumi.BoolPtrOutput { return v.DeletionProtection }).(pulumi.BoolPtrOutput) 607 } 608 609 // A list of the log types this DB cluster is configured to export to Cloudwatch Logs. Currently only supports `audit` and `slowquery`. 610 func (o ClusterOutput) EnableCloudwatchLogsExports() pulumi.StringArrayOutput { 611 return o.ApplyT(func(v *Cluster) pulumi.StringArrayOutput { return v.EnableCloudwatchLogsExports }).(pulumi.StringArrayOutput) 612 } 613 614 // The DNS address of the Neptune instance 615 func (o ClusterOutput) Endpoint() pulumi.StringOutput { 616 return o.ApplyT(func(v *Cluster) pulumi.StringOutput { return v.Endpoint }).(pulumi.StringOutput) 617 } 618 619 // The name of the database engine to be used for this Neptune cluster. Defaults to `neptune`. 620 func (o ClusterOutput) Engine() pulumi.StringPtrOutput { 621 return o.ApplyT(func(v *Cluster) pulumi.StringPtrOutput { return v.Engine }).(pulumi.StringPtrOutput) 622 } 623 624 // The database engine version. 625 func (o ClusterOutput) EngineVersion() pulumi.StringOutput { 626 return o.ApplyT(func(v *Cluster) pulumi.StringOutput { return v.EngineVersion }).(pulumi.StringOutput) 627 } 628 629 // The name of your final Neptune snapshot when this Neptune cluster is deleted. If omitted, no final snapshot will be made. 630 func (o ClusterOutput) FinalSnapshotIdentifier() pulumi.StringPtrOutput { 631 return o.ApplyT(func(v *Cluster) pulumi.StringPtrOutput { return v.FinalSnapshotIdentifier }).(pulumi.StringPtrOutput) 632 } 633 634 // The global cluster identifier specified on `neptune.GlobalCluster`. 635 func (o ClusterOutput) GlobalClusterIdentifier() pulumi.StringPtrOutput { 636 return o.ApplyT(func(v *Cluster) pulumi.StringPtrOutput { return v.GlobalClusterIdentifier }).(pulumi.StringPtrOutput) 637 } 638 639 // The Route53 Hosted Zone ID of the endpoint 640 func (o ClusterOutput) HostedZoneId() pulumi.StringOutput { 641 return o.ApplyT(func(v *Cluster) pulumi.StringOutput { return v.HostedZoneId }).(pulumi.StringOutput) 642 } 643 644 // Specifies whether or not mappings of AWS Identity and Access Management (IAM) accounts to database accounts is enabled. 645 func (o ClusterOutput) IamDatabaseAuthenticationEnabled() pulumi.BoolPtrOutput { 646 return o.ApplyT(func(v *Cluster) pulumi.BoolPtrOutput { return v.IamDatabaseAuthenticationEnabled }).(pulumi.BoolPtrOutput) 647 } 648 649 // A List of ARNs for the IAM roles to associate to the Neptune Cluster. 650 func (o ClusterOutput) IamRoles() pulumi.StringArrayOutput { 651 return o.ApplyT(func(v *Cluster) pulumi.StringArrayOutput { return v.IamRoles }).(pulumi.StringArrayOutput) 652 } 653 654 // The ARN for the KMS encryption key. When specifying `kmsKeyArn`, `storageEncrypted` needs to be set to true. 655 func (o ClusterOutput) KmsKeyArn() pulumi.StringOutput { 656 return o.ApplyT(func(v *Cluster) pulumi.StringOutput { return v.KmsKeyArn }).(pulumi.StringOutput) 657 } 658 659 // A cluster parameter group to associate with the cluster. 660 func (o ClusterOutput) NeptuneClusterParameterGroupName() pulumi.StringPtrOutput { 661 return o.ApplyT(func(v *Cluster) pulumi.StringPtrOutput { return v.NeptuneClusterParameterGroupName }).(pulumi.StringPtrOutput) 662 } 663 664 // The name of the DB parameter group to apply to all instances of the DB cluster. 665 func (o ClusterOutput) NeptuneInstanceParameterGroupName() pulumi.StringPtrOutput { 666 return o.ApplyT(func(v *Cluster) pulumi.StringPtrOutput { return v.NeptuneInstanceParameterGroupName }).(pulumi.StringPtrOutput) 667 } 668 669 // A Neptune subnet group to associate with this Neptune instance. 670 func (o ClusterOutput) NeptuneSubnetGroupName() pulumi.StringOutput { 671 return o.ApplyT(func(v *Cluster) pulumi.StringOutput { return v.NeptuneSubnetGroupName }).(pulumi.StringOutput) 672 } 673 674 // The port on which the Neptune accepts connections. Default is `8182`. 675 func (o ClusterOutput) Port() pulumi.IntPtrOutput { 676 return o.ApplyT(func(v *Cluster) pulumi.IntPtrOutput { return v.Port }).(pulumi.IntPtrOutput) 677 } 678 679 // The daily time range during which automated backups are created if automated backups are enabled using the BackupRetentionPeriod parameter. Time in UTC. Default: A 30-minute window selected at random from an 8-hour block of time per regionE.g., 04:00-09:00 680 func (o ClusterOutput) PreferredBackupWindow() pulumi.StringOutput { 681 return o.ApplyT(func(v *Cluster) pulumi.StringOutput { return v.PreferredBackupWindow }).(pulumi.StringOutput) 682 } 683 684 // The weekly time range during which system maintenance can occur, in (UTC) e.g., wed:04:00-wed:04:30 685 func (o ClusterOutput) PreferredMaintenanceWindow() pulumi.StringOutput { 686 return o.ApplyT(func(v *Cluster) pulumi.StringOutput { return v.PreferredMaintenanceWindow }).(pulumi.StringOutput) 687 } 688 689 // A read-only endpoint for the Neptune cluster, automatically load-balanced across replicas 690 func (o ClusterOutput) ReaderEndpoint() pulumi.StringOutput { 691 return o.ApplyT(func(v *Cluster) pulumi.StringOutput { return v.ReaderEndpoint }).(pulumi.StringOutput) 692 } 693 694 // ARN of a source Neptune cluster or Neptune instance if this Neptune cluster is to be created as a Read Replica. 695 func (o ClusterOutput) ReplicationSourceIdentifier() pulumi.StringPtrOutput { 696 return o.ApplyT(func(v *Cluster) pulumi.StringPtrOutput { return v.ReplicationSourceIdentifier }).(pulumi.StringPtrOutput) 697 } 698 699 // If set, create the Neptune cluster as a serverless one. See Serverless for example block attributes. 700 func (o ClusterOutput) ServerlessV2ScalingConfiguration() ClusterServerlessV2ScalingConfigurationPtrOutput { 701 return o.ApplyT(func(v *Cluster) ClusterServerlessV2ScalingConfigurationPtrOutput { 702 return v.ServerlessV2ScalingConfiguration 703 }).(ClusterServerlessV2ScalingConfigurationPtrOutput) 704 } 705 706 // Determines whether a final Neptune snapshot is created before the Neptune cluster is deleted. If true is specified, no Neptune snapshot is created. If false is specified, a Neptune snapshot is created before the Neptune cluster is deleted, using the value from `finalSnapshotIdentifier`. Default is `false`. 707 func (o ClusterOutput) SkipFinalSnapshot() pulumi.BoolPtrOutput { 708 return o.ApplyT(func(v *Cluster) pulumi.BoolPtrOutput { return v.SkipFinalSnapshot }).(pulumi.BoolPtrOutput) 709 } 710 711 // Specifies whether or not to create this cluster from a snapshot. You can use either the name or ARN when specifying a Neptune cluster snapshot, or the ARN when specifying a Neptune snapshot. Automated snapshots **should not** be used for this attribute, unless from a different cluster. Automated snapshots are deleted as part of cluster destruction when the resource is replaced. 712 func (o ClusterOutput) SnapshotIdentifier() pulumi.StringPtrOutput { 713 return o.ApplyT(func(v *Cluster) pulumi.StringPtrOutput { return v.SnapshotIdentifier }).(pulumi.StringPtrOutput) 714 } 715 716 // Specifies whether the Neptune cluster is encrypted. The default is `false` if not specified. 717 func (o ClusterOutput) StorageEncrypted() pulumi.BoolPtrOutput { 718 return o.ApplyT(func(v *Cluster) pulumi.BoolPtrOutput { return v.StorageEncrypted }).(pulumi.BoolPtrOutput) 719 } 720 721 // Storage type associated with the cluster `standard/iopt1`. Default: `standard` 722 func (o ClusterOutput) StorageType() pulumi.StringOutput { 723 return o.ApplyT(func(v *Cluster) pulumi.StringOutput { return v.StorageType }).(pulumi.StringOutput) 724 } 725 726 // A map of tags to assign to the Neptune cluster. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 727 func (o ClusterOutput) Tags() pulumi.StringMapOutput { 728 return o.ApplyT(func(v *Cluster) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput) 729 } 730 731 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 732 // 733 // Deprecated: Please use `tags` instead. 734 func (o ClusterOutput) TagsAll() pulumi.StringMapOutput { 735 return o.ApplyT(func(v *Cluster) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput) 736 } 737 738 // List of VPC security groups to associate with the Cluster 739 func (o ClusterOutput) VpcSecurityGroupIds() pulumi.StringArrayOutput { 740 return o.ApplyT(func(v *Cluster) pulumi.StringArrayOutput { return v.VpcSecurityGroupIds }).(pulumi.StringArrayOutput) 741 } 742 743 type ClusterArrayOutput struct{ *pulumi.OutputState } 744 745 func (ClusterArrayOutput) ElementType() reflect.Type { 746 return reflect.TypeOf((*[]*Cluster)(nil)).Elem() 747 } 748 749 func (o ClusterArrayOutput) ToClusterArrayOutput() ClusterArrayOutput { 750 return o 751 } 752 753 func (o ClusterArrayOutput) ToClusterArrayOutputWithContext(ctx context.Context) ClusterArrayOutput { 754 return o 755 } 756 757 func (o ClusterArrayOutput) Index(i pulumi.IntInput) ClusterOutput { 758 return pulumi.All(o, i).ApplyT(func(vs []interface{}) *Cluster { 759 return vs[0].([]*Cluster)[vs[1].(int)] 760 }).(ClusterOutput) 761 } 762 763 type ClusterMapOutput struct{ *pulumi.OutputState } 764 765 func (ClusterMapOutput) ElementType() reflect.Type { 766 return reflect.TypeOf((*map[string]*Cluster)(nil)).Elem() 767 } 768 769 func (o ClusterMapOutput) ToClusterMapOutput() ClusterMapOutput { 770 return o 771 } 772 773 func (o ClusterMapOutput) ToClusterMapOutputWithContext(ctx context.Context) ClusterMapOutput { 774 return o 775 } 776 777 func (o ClusterMapOutput) MapIndex(k pulumi.StringInput) ClusterOutput { 778 return pulumi.All(o, k).ApplyT(func(vs []interface{}) *Cluster { 779 return vs[0].(map[string]*Cluster)[vs[1].(string)] 780 }).(ClusterOutput) 781 } 782 783 func init() { 784 pulumi.RegisterInputType(reflect.TypeOf((*ClusterInput)(nil)).Elem(), &Cluster{}) 785 pulumi.RegisterInputType(reflect.TypeOf((*ClusterArrayInput)(nil)).Elem(), ClusterArray{}) 786 pulumi.RegisterInputType(reflect.TypeOf((*ClusterMapInput)(nil)).Elem(), ClusterMap{}) 787 pulumi.RegisterOutputType(ClusterOutput{}) 788 pulumi.RegisterOutputType(ClusterArrayOutput{}) 789 pulumi.RegisterOutputType(ClusterMapOutput{}) 790 }