AuthenticationProfile |
Creates a Redshift authentication profile
## Example Usage
```java
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.redshift.AuthenticationProfile;
import com.pulumi.aws.redshift.AuthenticationProfileArgs;
import static com.pulumi.codegen.internal.Serialization.*;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var example = new AuthenticationProfile("example", AuthenticationProfileArgs.builder()
.authenticationProfileName("example")
.authenticationProfileContent(serializeJson(
jsonObject(
jsonProperty("AllowDBUserOverride", "1"),
jsonProperty("Client_ID", "ExampleClientID"),
jsonProperty("App_ID", "example")
)))
.build());
}
}
```
## Import
Redshift Authentication Profiles support import by `authentication_profile_name`, e.g., console
```sh
$ pulumi import aws:redshift/authenticationProfile:AuthenticationProfile test example
```
|
AuthenticationProfileArgs |
|
AuthenticationProfileArgs.Builder |
|
Cluster |
Provides a Redshift Cluster Resource.
|
ClusterArgs |
|
ClusterArgs.Builder |
|
ClusterIamRoles |
Provides a Redshift Cluster IAM Roles resource.
|
ClusterIamRolesArgs |
|
ClusterIamRolesArgs.Builder |
|
EndpointAccess |
Creates a new Amazon Redshift endpoint access.
|
EndpointAccessArgs |
|
EndpointAccessArgs.Builder |
|
EventSubscription |
Provides a Redshift event subscription resource.
|
EventSubscriptionArgs |
|
EventSubscriptionArgs.Builder |
|
HsmClientCertificate |
Creates an HSM client certificate that an Amazon Redshift cluster will use to connect to the client's HSM in order to store and retrieve the keys used to encrypt the cluster databases.
|
HsmClientCertificateArgs |
|
HsmClientCertificateArgs.Builder |
|
HsmConfiguration |
Creates an HSM configuration that contains the information required by an Amazon Redshift cluster to store and use database encryption keys in a Hardware Security Module (HSM).
|
HsmConfigurationArgs |
|
HsmConfigurationArgs.Builder |
|
ParameterGroup |
Provides a Redshift Cluster parameter group resource.
|
ParameterGroupArgs |
|
ParameterGroupArgs.Builder |
|
RedshiftFunctions |
|
ScheduledAction |
## Example Usage
### Pause Cluster Action
```java
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.iam.Role;
import com.pulumi.aws.iam.RoleArgs;
import com.pulumi.aws.iam.Policy;
import com.pulumi.aws.iam.PolicyArgs;
import com.pulumi.aws.iam.RolePolicyAttachment;
import com.pulumi.aws.iam.RolePolicyAttachmentArgs;
import com.pulumi.aws.redshift.ScheduledAction;
import com.pulumi.aws.redshift.ScheduledActionArgs;
import com.pulumi.aws.redshift.inputs.ScheduledActionTargetActionArgs;
import com.pulumi.aws.redshift.inputs.ScheduledActionTargetActionPauseClusterArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var exampleRole = new Role("exampleRole", RoleArgs.builder()
.assumeRolePolicy("""
{
"Version": "2012-10-17",
"Statement": [
{
"Action": "sts:AssumeRole",
"Principal": {
"Service": [
"scheduler.redshift.amazonaws.com"
]
},
"Effect": "Allow",
"Sid": ""
}
]
}
""")
.build());
var examplePolicy = new Policy("examplePolicy", PolicyArgs.builder()
.policy("""
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": [
"redshift:PauseCluster",
"redshift:ResumeCluster",
"redshift:ResizeCluster"
],
"Resource": "*"
}
]
}
""")
.build());
var exampleRolePolicyAttachment = new RolePolicyAttachment("exampleRolePolicyAttachment", RolePolicyAttachmentArgs.builder()
.policyArn(examplePolicy.arn())
.role(exampleRole.name())
.build());
var exampleScheduledAction = new ScheduledAction("exampleScheduledAction", ScheduledActionArgs.builder()
.schedule("cron(00 23 * * ? *)")
.iamRole(exampleRole.arn())
.targetAction(ScheduledActionTargetActionArgs.builder()
.pauseCluster(ScheduledActionTargetActionPauseClusterArgs.builder()
.clusterIdentifier("tf-redshift001")
.build())
.build())
.build());
}
}
```
### Resize Cluster Action
```java
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.redshift.ScheduledAction;
import com.pulumi.aws.redshift.ScheduledActionArgs;
import com.pulumi.aws.redshift.inputs.ScheduledActionTargetActionArgs;
import com.pulumi.aws.redshift.inputs.ScheduledActionTargetActionResizeClusterArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var example = new ScheduledAction("example", ScheduledActionArgs.builder()
.schedule("cron(00 23 * * ? *)")
.iamRole(aws_iam_role.example().arn())
.targetAction(ScheduledActionTargetActionArgs.builder()
.resizeCluster(ScheduledActionTargetActionResizeClusterArgs.builder()
.clusterIdentifier("tf-redshift001")
.clusterType("multi-node")
.nodeType("dc1.large")
.numberOfNodes(2)
.build())
.build())
.build());
}
}
```
## Import
Redshift Scheduled Action can be imported using the `name`, e.g.,
```sh
$ pulumi import aws:redshift/scheduledAction:ScheduledAction example tf-redshift-scheduled-action
```
|
ScheduledActionArgs |
|
ScheduledActionArgs.Builder |
|
SecurityGroup |
## Example Usage
```java
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.redshift.SecurityGroup;
import com.pulumi.aws.redshift.SecurityGroupArgs;
import com.pulumi.aws.redshift.inputs.SecurityGroupIngressArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var default_ = new SecurityGroup("default", SecurityGroupArgs.builder()
.ingress(SecurityGroupIngressArgs.builder()
.cidr("10.0.0.0/24")
.build())
.build());
}
}
```
## Import
Redshift security groups can be imported using the `name`, e.g.,
```sh
$ pulumi import aws:redshift/securityGroup:SecurityGroup testgroup1 redshift_test_group
```
|
SecurityGroupArgs |
|
SecurityGroupArgs.Builder |
|
SnapshotCopyGrant |
Creates a snapshot copy grant that allows AWS Redshift to encrypt copied snapshots with a customer master key from AWS KMS in a destination region.
|
SnapshotCopyGrantArgs |
|
SnapshotCopyGrantArgs.Builder |
|
SnapshotSchedule |
## Example Usage
```java
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.redshift.SnapshotSchedule;
import com.pulumi.aws.redshift.SnapshotScheduleArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var default_ = new SnapshotSchedule("default", SnapshotScheduleArgs.builder()
.definitions("rate(12 hours)")
.identifier("tf-redshift-snapshot-schedule")
.build());
}
}
```
## Import
Redshift Snapshot Schedule can be imported using the `identifier`, e.g.,
```sh
$ pulumi import aws:redshift/snapshotSchedule:SnapshotSchedule default tf-redshift-snapshot-schedule
```
|
SnapshotScheduleArgs |
|
SnapshotScheduleArgs.Builder |
|
SnapshotScheduleAssociation |
## Example Usage
```java
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.redshift.Cluster;
import com.pulumi.aws.redshift.ClusterArgs;
import com.pulumi.aws.redshift.SnapshotSchedule;
import com.pulumi.aws.redshift.SnapshotScheduleArgs;
import com.pulumi.aws.redshift.SnapshotScheduleAssociation;
import com.pulumi.aws.redshift.SnapshotScheduleAssociationArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var defaultCluster = new Cluster("defaultCluster", ClusterArgs.builder()
.clusterIdentifier("tf-redshift-cluster")
.databaseName("mydb")
.masterUsername("foo")
.masterPassword("Mustbe8characters")
.nodeType("dc1.large")
.clusterType("single-node")
.build());
var defaultSnapshotSchedule = new SnapshotSchedule("defaultSnapshotSchedule", SnapshotScheduleArgs.builder()
.identifier("tf-redshift-snapshot-schedule")
.definitions("rate(12 hours)")
.build());
var defaultSnapshotScheduleAssociation = new SnapshotScheduleAssociation("defaultSnapshotScheduleAssociation", SnapshotScheduleAssociationArgs.builder()
.clusterIdentifier(defaultCluster.id())
.scheduleIdentifier(defaultSnapshotSchedule.id())
.build());
}
}
```
## Import
Redshift Snapshot Schedule Association can be imported using the `<cluster-identifier>/<schedule-identifier>`, e.g.,
```sh
$ pulumi import aws:redshift/snapshotScheduleAssociation:SnapshotScheduleAssociation default tf-redshift-cluster/tf-redshift-snapshot-schedule
```
|
SnapshotScheduleAssociationArgs |
|
SnapshotScheduleAssociationArgs.Builder |
|
SubnetGroup |
Creates a new Amazon Redshift subnet group.
|
SubnetGroupArgs |
|
SubnetGroupArgs.Builder |
|
UsageLimit |
Creates a new Amazon Redshift Usage Limit.
|
UsageLimitArgs |
|
UsageLimitArgs.Builder |
|