Class ResourceConfiguration


  • public class ResourceConfiguration
    extends com.pulumi.resources.CustomResource
    Resource for managing an AWS VPC Lattice Resource Configuration. ## Example Usage ### Basic Usage
     
     package generated_program;
     
     import com.pulumi.Context;
     import com.pulumi.Pulumi;
     import com.pulumi.core.Output;
     import com.pulumi.aws.vpclattice.ResourceConfiguration;
     import com.pulumi.aws.vpclattice.ResourceConfigurationArgs;
     import com.pulumi.aws.vpclattice.inputs.ResourceConfigurationResourceConfigurationDefinitionArgs;
     import com.pulumi.aws.vpclattice.inputs.ResourceConfigurationResourceConfigurationDefinitionDnsResourceArgs;
     import java.util.ArrayList;
     import java.util.Arrays;
     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 ResourceConfiguration("example", ResourceConfigurationArgs.builder()
                 .resourceConfigurationDefinition(ResourceConfigurationResourceConfigurationDefinitionArgs.builder()
                     .dnsResource(ResourceConfigurationResourceConfigurationDefinitionDnsResourceArgs.builder()
                         .domainName("example.com")
                         .ipAddressType("IPV4")
                         .build())
                     .build())
                 .name("Example")
                 .resourceGatewayIdentifier(exampleAwsVpclatticeResourceGateway.id())
                 .portRanges("80")
                 .protocol("TCP")
                 .tags(Map.of("Environment", "Example"))
                 .build());
     
         }
     }
     
     
    ### IP Address Example
     
     package generated_program;
     
     import com.pulumi.Context;
     import com.pulumi.Pulumi;
     import com.pulumi.core.Output;
     import com.pulumi.aws.vpclattice.ResourceConfiguration;
     import com.pulumi.aws.vpclattice.ResourceConfigurationArgs;
     import com.pulumi.aws.vpclattice.inputs.ResourceConfigurationResourceConfigurationDefinitionArgs;
     import com.pulumi.aws.vpclattice.inputs.ResourceConfigurationResourceConfigurationDefinitionIpResourceArgs;
     import java.util.ArrayList;
     import java.util.Arrays;
     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 ResourceConfiguration("example", ResourceConfigurationArgs.builder()
                 .resourceConfigurationDefinition(ResourceConfigurationResourceConfigurationDefinitionArgs.builder()
                     .ipResource(ResourceConfigurationResourceConfigurationDefinitionIpResourceArgs.builder()
                         .ipAddress("10.0.0.1")
                         .build())
                     .build())
                 .name("Example")
                 .resourceGatewayIdentifier(exampleAwsVpclatticeResourceGateway.id())
                 .portRanges("80")
                 .protocol("TCP")
                 .tags(Map.of("Environment", "Example"))
                 .build());
     
         }
     }
     
     
    ### With custom domain
     
     package generated_program;
     
     import com.pulumi.Context;
     import com.pulumi.Pulumi;
     import com.pulumi.core.Output;
     import com.pulumi.aws.vpclattice.DomainVerification;
     import com.pulumi.aws.vpclattice.DomainVerificationArgs;
     import com.pulumi.aws.vpclattice.ResourceConfiguration;
     import com.pulumi.aws.vpclattice.ResourceConfigurationArgs;
     import com.pulumi.aws.vpclattice.inputs.ResourceConfigurationResourceConfigurationDefinitionArgs;
     import com.pulumi.aws.vpclattice.inputs.ResourceConfigurationResourceConfigurationDefinitionDnsResourceArgs;
     import java.util.ArrayList;
     import java.util.Arrays;
     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 DomainVerification("example", DomainVerificationArgs.builder()
                 .domainName("example.com")
                 .build());
     
             var exampleResourceConfiguration = new ResourceConfiguration("exampleResourceConfiguration", ResourceConfigurationArgs.builder()
                 .resourceConfigurationDefinition(ResourceConfigurationResourceConfigurationDefinitionArgs.builder()
                     .dnsResource(ResourceConfigurationResourceConfigurationDefinitionDnsResourceArgs.builder()
                         .domainName("test.example.com")
                         .ipAddressType("IPV4")
                         .build())
                     .build())
                 .name("Example")
                 .resourceGatewayIdentifier(exampleAwsVpclatticeResourceGateway.id())
                 .customDomainName("custom.example.com")
                 .domainVerificationId(example.id())
                 .portRanges("443")
                 .protocol("TCP")
                 .tags(Map.of("Environment", "Example"))
                 .build());
     
         }
     }
     
     
    ### ARN Example
     
     package generated_program;
     
     import com.pulumi.Context;
     import com.pulumi.Pulumi;
     import com.pulumi.core.Output;
     import com.pulumi.aws.vpclattice.ResourceConfiguration;
     import com.pulumi.aws.vpclattice.ResourceConfigurationArgs;
     import com.pulumi.aws.vpclattice.inputs.ResourceConfigurationResourceConfigurationDefinitionArgs;
     import com.pulumi.aws.vpclattice.inputs.ResourceConfigurationResourceConfigurationDefinitionArnResourceArgs;
     import java.util.ArrayList;
     import java.util.Arrays;
     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 test = new ResourceConfiguration("test", ResourceConfigurationArgs.builder()
                 .resourceConfigurationDefinition(ResourceConfigurationResourceConfigurationDefinitionArgs.builder()
                     .arnResource(ResourceConfigurationResourceConfigurationDefinitionArnResourceArgs.builder()
                         .arn(example.arn())
                         .build())
                     .build())
                 .name("Example")
                 .resourceGatewayIdentifier(testAwsVpclatticeResourceGateway.id())
                 .type("ARN")
                 .build());
     
         }
     }
     
     
    ## Import Using `pulumi import`, import VPC Lattice Resource Configuration using the `id`. For example: ```sh $ pulumi import aws:vpclattice/resourceConfiguration:ResourceConfiguration example rcfg-1234567890abcdef1 ```
    • Nested Class Summary

      • Nested classes/interfaces inherited from class com.pulumi.resources.CustomResource

        com.pulumi.resources.CustomResource.CustomResourceInternal
      • Nested classes/interfaces inherited from class com.pulumi.resources.Resource

        com.pulumi.resources.Resource.LazyField<T extends java.lang.Object>, com.pulumi.resources.Resource.LazyFields, com.pulumi.resources.Resource.ResourceInternal
    • Field Summary

      • Fields inherited from class com.pulumi.resources.Resource

        childResources, remote
    • Constructor Detail

      • ResourceConfiguration

        public ResourceConfiguration​(java.lang.String name)
        Parameters:
        name - The _unique_ name of the resulting resource.
      • ResourceConfiguration

        public ResourceConfiguration​(java.lang.String name,
                                     @Nullable
                                     ResourceConfigurationArgs args)
        Parameters:
        name - The _unique_ name of the resulting resource.
        args - The arguments to use to populate this resource's properties.
      • ResourceConfiguration

        public ResourceConfiguration​(java.lang.String name,
                                     @Nullable
                                     ResourceConfigurationArgs 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

      • allowAssociationToShareableServiceNetwork

        public com.pulumi.core.Output<java.lang.Boolean> allowAssociationToShareableServiceNetwork()
        Returns:
        Allow or Deny the association of this resource to a shareable service network.
      • arn

        public com.pulumi.core.Output<java.lang.String> arn()
        Returns:
        ARN of the resource gateway.
      • customDomainName

        public com.pulumi.core.Output<java.util.Optional<java.lang.String>> customDomainName()
        Returns:
        Custom domain name for your resource configuration. Additionally, provide a `domainVerificationId` to prove your ownership of a domain.
      • domainVerificationArn

        public com.pulumi.core.Output<java.lang.String> domainVerificationArn()
        Returns:
        ARN of the domain verification.
      • domainVerificationId

        public com.pulumi.core.Output<java.lang.String> domainVerificationId()
        Returns:
        Domain verification ID of your verified custom domain name. If you don't provide an ID, you must configure the DNS settings yourself.
      • domainVerificationStatus

        public com.pulumi.core.Output<java.lang.String> domainVerificationStatus()
        Returns:
        Domain verification status.
      • name

        public com.pulumi.core.Output<java.lang.String> name()
        Returns:
        Name for the Resource Configuration.
      • portRanges

        public com.pulumi.core.Output<java.util.List<java.lang.String>> portRanges()
        Returns:
        Port ranges to access the Resource either single port `80` or range `80-81` range.
      • protocol

        public com.pulumi.core.Output<java.lang.String> protocol()
        Returns:
        Protocol for the Resource `TCP` is currently the only supported value. MUST be specified if `resourceConfigurationGroupId` is not.
      • region

        public com.pulumi.core.Output<java.lang.String> region()
        Returns:
        Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration.
      • resourceConfigurationDefinition

        public com.pulumi.core.Output<java.util.Optional<ResourceConfigurationResourceConfigurationDefinition>> resourceConfigurationDefinition()
        Returns:
        Details of the Resource Configuration. See `resourceConfigurationDefinition` Block for details. The following arguments are optional:
      • resourceConfigurationGroupId

        public com.pulumi.core.Output<java.util.Optional<java.lang.String>> resourceConfigurationGroupId()
        Returns:
        ID of Resource Configuration where `type` is `CHILD`.
      • resourceGatewayIdentifier

        public com.pulumi.core.Output<java.lang.String> resourceGatewayIdentifier()
        Returns:
        ID of the Resource Gateway used to access the resource. MUST be specified if `resourceConfigurationGroupId` is not.
      • tags

        public com.pulumi.core.Output<java.util.Optional<java.util.Map<java.lang.String,​java.lang.String>>> tags()
        Returns:
        Key-value mapping of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
      • tagsAll

        public com.pulumi.core.Output<java.util.Map<java.lang.String,​java.lang.String>> tagsAll()
        Returns:
        Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
      • type

        public com.pulumi.core.Output<java.lang.String> type()
        Returns:
        Type of Resource Configuration. Must be one of `GROUP`, `CHILD`, `SINGLE`, `ARN`.
      • get

        public static ResourceConfiguration get​(java.lang.String name,
                                                com.pulumi.core.Output<java.lang.String> id,
                                                @Nullable
                                                ResourceConfigurationState 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.