Package com.pulumi.aws.shield
Class ProactiveEngagement
- java.lang.Object
-
- com.pulumi.resources.Resource
-
- com.pulumi.resources.CustomResource
-
- com.pulumi.aws.shield.ProactiveEngagement
-
public class ProactiveEngagement extends com.pulumi.resources.CustomResource
Resource for managing a AWS Shield Proactive Engagement. Proactive engagement authorizes the Shield Response Team (SRT) to use email and phone to notify contacts about escalations to the SRT and to initiate proactive customer support. ## Example Usage ### Basic Usage <!--Start PulumiCodeChooser -->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.shield.DrtAccessRoleArnAssociation; import com.pulumi.aws.shield.DrtAccessRoleArnAssociationArgs; import com.pulumi.aws.shield.ProactiveEngagement; import com.pulumi.aws.shield.ProactiveEngagementArgs; import com.pulumi.aws.shield.inputs.ProactiveEngagementEmergencyContactArgs; import com.pulumi.aws.iam.RolePolicyAttachment; import com.pulumi.aws.iam.RolePolicyAttachmentArgs; import com.pulumi.aws.shield.ProtectionGroup; import com.pulumi.aws.shield.ProtectionGroupArgs; import static com.pulumi.codegen.internal.Serialization.*; import com.pulumi.resources.CustomResourceOptions; 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() .name("example-role") .assumeRolePolicy(serializeJson( jsonObject( jsonProperty("Version", "2012-10-17"), jsonProperty("Statement", jsonArray(jsonObject( jsonProperty("Sid", ""), jsonProperty("Effect", "Allow"), jsonProperty("Principal", jsonObject( jsonProperty("Service", "drt.shield.amazonaws.com") )), jsonProperty("Action", "sts:AssumeRole") ))) ))) .build()); var exampleDrtAccessRoleArnAssociation = new DrtAccessRoleArnAssociation("exampleDrtAccessRoleArnAssociation", DrtAccessRoleArnAssociationArgs.builder() .roleArn(exampleRole.arn()) .build()); var example = new ProactiveEngagement("example", ProactiveEngagementArgs.builder() .enabled(true) .emergencyContacts( ProactiveEngagementEmergencyContactArgs.builder() .contactNotes("Notes") .emailAddress("contact1
@example.com") .phoneNumber("+12358132134") .build(), ProactiveEngagementEmergencyContactArgs.builder() .contactNotes("Notes 2") .emailAddress("contact2
@example.com") .phoneNumber("+12358132134") .build()) .build(), CustomResourceOptions.builder() .dependsOn(exampleDrtAccessRoleArnAssociation) .build()); var exampleRolePolicyAttachment = new RolePolicyAttachment("exampleRolePolicyAttachment", RolePolicyAttachmentArgs.builder() .role(exampleRole.name()) .policyArn("arn:aws:iam::aws:policy/service-role/AWSShieldDRTAccessPolicy") .build()); var exampleProtectionGroup = new ProtectionGroup("exampleProtectionGroup", ProtectionGroupArgs.builder() .protectionGroupId("example") .aggregation("MAX") .pattern("ALL") .build());
}
-
-
Constructor Summary
Constructors Constructor Description ProactiveEngagement(java.lang.String name)
ProactiveEngagement(java.lang.String name, ProactiveEngagementArgs args)
ProactiveEngagement(java.lang.String name, ProactiveEngagementArgs args, com.pulumi.resources.CustomResourceOptions options)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description com.pulumi.core.Output<java.util.Optional<java.util.List<ProactiveEngagementEmergencyContact>>>
emergencyContacts()
com.pulumi.core.Output<java.lang.Boolean>
enabled()
static ProactiveEngagement
get(java.lang.String name, com.pulumi.core.Output<java.lang.String> id, ProactiveEngagementState state, com.pulumi.resources.CustomResourceOptions options)
Get an existing Host resource's state with the given name, ID, and optional extra properties used to qualify the lookup.
-
-
-
Constructor Detail
-
ProactiveEngagement
public ProactiveEngagement(java.lang.String name)
- Parameters:
name
- The _unique_ name of the resulting resource.
-
ProactiveEngagement
public ProactiveEngagement(java.lang.String name, ProactiveEngagementArgs args)
- Parameters:
name
- The _unique_ name of the resulting resource.args
- The arguments to use to populate this resource's properties.
-
ProactiveEngagement
public ProactiveEngagement(java.lang.String name, ProactiveEngagementArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options)
- Parameters:
name
- The _unique_ name of the resulting resource.args
- The arguments to use to populate this resource's properties.options
- A bag of options that control this resource's behavior.
-
-
Method Detail
-
emergencyContacts
public com.pulumi.core.Output<java.util.Optional<java.util.List<ProactiveEngagementEmergencyContact>>> emergencyContacts()
- Returns:
- One or more emergency contacts. You must provide at least one phone number in the emergency contact list. See `emergency_contacts`.
-
enabled
public com.pulumi.core.Output<java.lang.Boolean> enabled()
- Returns:
- Boolean value indicating if Proactive Engagement should be enabled or not.
-
get
public static ProactiveEngagement get(java.lang.String name, com.pulumi.core.Output<java.lang.String> id, @Nullable ProactiveEngagementState state, @Nullable com.pulumi.resources.CustomResourceOptions options)
Get an existing Host resource's state with the given name, ID, and optional extra properties used to qualify the lookup.- Parameters:
name
- The _unique_ name of the resulting resource.id
- The _unique_ provider ID of the resource to lookup.state
-options
- Optional settings to control the behavior of the CustomResource.
-
-