Please wait. This can take some minutes ...
Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance.
Project price only 1 $
You can buy this project and download/modify it how often you want.
com.pulumi.aws.ec2.NetworkInsightsPathArgs Maven / Gradle / Ivy
Go to download
A Pulumi package for creating and managing Amazon Web Services (AWS) cloud resources.
// *** WARNING: this file was generated by pulumi-java-gen. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
package com.pulumi.aws.ec2;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Integer;
import java.lang.String;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;
public final class NetworkInsightsPathArgs extends com.pulumi.resources.ResourceArgs {
public static final NetworkInsightsPathArgs Empty = new NetworkInsightsPathArgs();
/**
* ID or ARN of the resource which is the destination of the path. Can be an Instance, Internet Gateway, Network Interface, Transit Gateway, VPC Endpoint, VPC Peering Connection or VPN Gateway. If the resource is in another account, you must specify an ARN.
*
*/
@Import(name="destination")
private @Nullable Output destination;
/**
* @return ID or ARN of the resource which is the destination of the path. Can be an Instance, Internet Gateway, Network Interface, Transit Gateway, VPC Endpoint, VPC Peering Connection or VPN Gateway. If the resource is in another account, you must specify an ARN.
*
*/
public Optional> destination() {
return Optional.ofNullable(this.destination);
}
/**
* IP address of the destination resource.
*
*/
@Import(name="destinationIp")
private @Nullable Output destinationIp;
/**
* @return IP address of the destination resource.
*
*/
public Optional> destinationIp() {
return Optional.ofNullable(this.destinationIp);
}
/**
* Destination port to analyze access to.
*
*/
@Import(name="destinationPort")
private @Nullable Output destinationPort;
/**
* @return Destination port to analyze access to.
*
*/
public Optional> destinationPort() {
return Optional.ofNullable(this.destinationPort);
}
/**
* Protocol to use for analysis. Valid options are `tcp` or `udp`.
*
* The following arguments are optional:
*
*/
@Import(name="protocol", required=true)
private Output protocol;
/**
* @return Protocol to use for analysis. Valid options are `tcp` or `udp`.
*
* The following arguments are optional:
*
*/
public Output protocol() {
return this.protocol;
}
/**
* ID or ARN of the resource which is the source of the path. Can be an Instance, Internet Gateway, Network Interface, Transit Gateway, VPC Endpoint, VPC Peering Connection or VPN Gateway. If the resource is in another account, you must specify an ARN.
*
*/
@Import(name="source", required=true)
private Output source;
/**
* @return ID or ARN of the resource which is the source of the path. Can be an Instance, Internet Gateway, Network Interface, Transit Gateway, VPC Endpoint, VPC Peering Connection or VPN Gateway. If the resource is in another account, you must specify an ARN.
*
*/
public Output source() {
return this.source;
}
/**
* IP address of the source resource.
*
*/
@Import(name="sourceIp")
private @Nullable Output sourceIp;
/**
* @return IP address of the source resource.
*
*/
public Optional> sourceIp() {
return Optional.ofNullable(this.sourceIp);
}
/**
* Map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
*
*/
@Import(name="tags")
private @Nullable Output> tags;
/**
* @return Map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
*
*/
public Optional>> tags() {
return Optional.ofNullable(this.tags);
}
private NetworkInsightsPathArgs() {}
private NetworkInsightsPathArgs(NetworkInsightsPathArgs $) {
this.destination = $.destination;
this.destinationIp = $.destinationIp;
this.destinationPort = $.destinationPort;
this.protocol = $.protocol;
this.source = $.source;
this.sourceIp = $.sourceIp;
this.tags = $.tags;
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(NetworkInsightsPathArgs defaults) {
return new Builder(defaults);
}
public static final class Builder {
private NetworkInsightsPathArgs $;
public Builder() {
$ = new NetworkInsightsPathArgs();
}
public Builder(NetworkInsightsPathArgs defaults) {
$ = new NetworkInsightsPathArgs(Objects.requireNonNull(defaults));
}
/**
* @param destination ID or ARN of the resource which is the destination of the path. Can be an Instance, Internet Gateway, Network Interface, Transit Gateway, VPC Endpoint, VPC Peering Connection or VPN Gateway. If the resource is in another account, you must specify an ARN.
*
* @return builder
*
*/
public Builder destination(@Nullable Output destination) {
$.destination = destination;
return this;
}
/**
* @param destination ID or ARN of the resource which is the destination of the path. Can be an Instance, Internet Gateway, Network Interface, Transit Gateway, VPC Endpoint, VPC Peering Connection or VPN Gateway. If the resource is in another account, you must specify an ARN.
*
* @return builder
*
*/
public Builder destination(String destination) {
return destination(Output.of(destination));
}
/**
* @param destinationIp IP address of the destination resource.
*
* @return builder
*
*/
public Builder destinationIp(@Nullable Output destinationIp) {
$.destinationIp = destinationIp;
return this;
}
/**
* @param destinationIp IP address of the destination resource.
*
* @return builder
*
*/
public Builder destinationIp(String destinationIp) {
return destinationIp(Output.of(destinationIp));
}
/**
* @param destinationPort Destination port to analyze access to.
*
* @return builder
*
*/
public Builder destinationPort(@Nullable Output destinationPort) {
$.destinationPort = destinationPort;
return this;
}
/**
* @param destinationPort Destination port to analyze access to.
*
* @return builder
*
*/
public Builder destinationPort(Integer destinationPort) {
return destinationPort(Output.of(destinationPort));
}
/**
* @param protocol Protocol to use for analysis. Valid options are `tcp` or `udp`.
*
* The following arguments are optional:
*
* @return builder
*
*/
public Builder protocol(Output protocol) {
$.protocol = protocol;
return this;
}
/**
* @param protocol Protocol to use for analysis. Valid options are `tcp` or `udp`.
*
* The following arguments are optional:
*
* @return builder
*
*/
public Builder protocol(String protocol) {
return protocol(Output.of(protocol));
}
/**
* @param source ID or ARN of the resource which is the source of the path. Can be an Instance, Internet Gateway, Network Interface, Transit Gateway, VPC Endpoint, VPC Peering Connection or VPN Gateway. If the resource is in another account, you must specify an ARN.
*
* @return builder
*
*/
public Builder source(Output source) {
$.source = source;
return this;
}
/**
* @param source ID or ARN of the resource which is the source of the path. Can be an Instance, Internet Gateway, Network Interface, Transit Gateway, VPC Endpoint, VPC Peering Connection or VPN Gateway. If the resource is in another account, you must specify an ARN.
*
* @return builder
*
*/
public Builder source(String source) {
return source(Output.of(source));
}
/**
* @param sourceIp IP address of the source resource.
*
* @return builder
*
*/
public Builder sourceIp(@Nullable Output sourceIp) {
$.sourceIp = sourceIp;
return this;
}
/**
* @param sourceIp IP address of the source resource.
*
* @return builder
*
*/
public Builder sourceIp(String sourceIp) {
return sourceIp(Output.of(sourceIp));
}
/**
* @param tags Map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
*
* @return builder
*
*/
public Builder tags(@Nullable Output> tags) {
$.tags = tags;
return this;
}
/**
* @param tags Map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
*
* @return builder
*
*/
public Builder tags(Map tags) {
return tags(Output.of(tags));
}
public NetworkInsightsPathArgs build() {
if ($.protocol == null) {
throw new MissingRequiredPropertyException("NetworkInsightsPathArgs", "protocol");
}
if ($.source == null) {
throw new MissingRequiredPropertyException("NetworkInsightsPathArgs", "source");
}
return $;
}
}
}