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.azurenative.mobilenetwork.inputs.ServiceDataFlowTemplateArgs Maven / Gradle / Ivy
Go to download
A native Pulumi package for creating and managing Azure 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.azurenative.mobilenetwork.inputs;
import com.pulumi.azurenative.mobilenetwork.enums.SdfDirection;
import com.pulumi.core.Either;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.String;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;
/**
* Data flow template
*
*/
public final class ServiceDataFlowTemplateArgs extends com.pulumi.resources.ResourceArgs {
public static final ServiceDataFlowTemplateArgs Empty = new ServiceDataFlowTemplateArgs();
/**
* The direction of this flow.
*
*/
@Import(name="direction", required=true)
private Output> direction;
/**
* @return The direction of this flow.
*
*/
public Output> direction() {
return this.direction;
}
/**
* The port(s) to which UEs will connect for this flow. You can specify zero or more ports or port ranges. If you specify one or more ports or port ranges then you must specify a value other than `ip` in the `protocol` field. This is an optional setting. If you do not specify it then connections will be allowed on all ports. Port ranges must be specified as <FirstPort>-<LastPort>. For example: [`8080`, `8082-8085`].
*
*/
@Import(name="ports")
private @Nullable Output> ports;
/**
* @return The port(s) to which UEs will connect for this flow. You can specify zero or more ports or port ranges. If you specify one or more ports or port ranges then you must specify a value other than `ip` in the `protocol` field. This is an optional setting. If you do not specify it then connections will be allowed on all ports. Port ranges must be specified as <FirstPort>-<LastPort>. For example: [`8080`, `8082-8085`].
*
*/
public Optional>> ports() {
return Optional.ofNullable(this.ports);
}
/**
* A list of the allowed protocol(s) for this flow. If you want this flow to be able to use any protocol within the internet protocol suite, use the value `ip`. If you only want to allow a selection of protocols, you must use the corresponding IANA Assigned Internet Protocol Number for each protocol, as described in https://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml. For example, for UDP, you must use 17. If you use the value `ip` then you must leave the field `port` unspecified.
*
*/
@Import(name="protocol", required=true)
private Output> protocol;
/**
* @return A list of the allowed protocol(s) for this flow. If you want this flow to be able to use any protocol within the internet protocol suite, use the value `ip`. If you only want to allow a selection of protocols, you must use the corresponding IANA Assigned Internet Protocol Number for each protocol, as described in https://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml. For example, for UDP, you must use 17. If you use the value `ip` then you must leave the field `port` unspecified.
*
*/
public Output> protocol() {
return this.protocol;
}
/**
* The remote IP address(es) to which UEs will connect for this flow. If you want to allow connections on any IP address, use the value `any`. Otherwise, you must provide each of the remote IP addresses to which the packet core instance will connect for this flow. You must provide each IP address in CIDR notation, including the netmask (for example, 192.0.2.54/24).
*
*/
@Import(name="remoteIpList", required=true)
private Output> remoteIpList;
/**
* @return The remote IP address(es) to which UEs will connect for this flow. If you want to allow connections on any IP address, use the value `any`. Otherwise, you must provide each of the remote IP addresses to which the packet core instance will connect for this flow. You must provide each IP address in CIDR notation, including the netmask (for example, 192.0.2.54/24).
*
*/
public Output> remoteIpList() {
return this.remoteIpList;
}
/**
* The name of the data flow template. This must be unique within the parent data flow policy rule. You must not use any of the following reserved strings - `default`, `requested` or `service`.
*
*/
@Import(name="templateName", required=true)
private Output templateName;
/**
* @return The name of the data flow template. This must be unique within the parent data flow policy rule. You must not use any of the following reserved strings - `default`, `requested` or `service`.
*
*/
public Output templateName() {
return this.templateName;
}
private ServiceDataFlowTemplateArgs() {}
private ServiceDataFlowTemplateArgs(ServiceDataFlowTemplateArgs $) {
this.direction = $.direction;
this.ports = $.ports;
this.protocol = $.protocol;
this.remoteIpList = $.remoteIpList;
this.templateName = $.templateName;
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(ServiceDataFlowTemplateArgs defaults) {
return new Builder(defaults);
}
public static final class Builder {
private ServiceDataFlowTemplateArgs $;
public Builder() {
$ = new ServiceDataFlowTemplateArgs();
}
public Builder(ServiceDataFlowTemplateArgs defaults) {
$ = new ServiceDataFlowTemplateArgs(Objects.requireNonNull(defaults));
}
/**
* @param direction The direction of this flow.
*
* @return builder
*
*/
public Builder direction(Output> direction) {
$.direction = direction;
return this;
}
/**
* @param direction The direction of this flow.
*
* @return builder
*
*/
public Builder direction(Either direction) {
return direction(Output.of(direction));
}
/**
* @param direction The direction of this flow.
*
* @return builder
*
*/
public Builder direction(String direction) {
return direction(Either.ofLeft(direction));
}
/**
* @param direction The direction of this flow.
*
* @return builder
*
*/
public Builder direction(SdfDirection direction) {
return direction(Either.ofRight(direction));
}
/**
* @param ports The port(s) to which UEs will connect for this flow. You can specify zero or more ports or port ranges. If you specify one or more ports or port ranges then you must specify a value other than `ip` in the `protocol` field. This is an optional setting. If you do not specify it then connections will be allowed on all ports. Port ranges must be specified as <FirstPort>-<LastPort>. For example: [`8080`, `8082-8085`].
*
* @return builder
*
*/
public Builder ports(@Nullable Output> ports) {
$.ports = ports;
return this;
}
/**
* @param ports The port(s) to which UEs will connect for this flow. You can specify zero or more ports or port ranges. If you specify one or more ports or port ranges then you must specify a value other than `ip` in the `protocol` field. This is an optional setting. If you do not specify it then connections will be allowed on all ports. Port ranges must be specified as <FirstPort>-<LastPort>. For example: [`8080`, `8082-8085`].
*
* @return builder
*
*/
public Builder ports(List ports) {
return ports(Output.of(ports));
}
/**
* @param ports The port(s) to which UEs will connect for this flow. You can specify zero or more ports or port ranges. If you specify one or more ports or port ranges then you must specify a value other than `ip` in the `protocol` field. This is an optional setting. If you do not specify it then connections will be allowed on all ports. Port ranges must be specified as <FirstPort>-<LastPort>. For example: [`8080`, `8082-8085`].
*
* @return builder
*
*/
public Builder ports(String... ports) {
return ports(List.of(ports));
}
/**
* @param protocol A list of the allowed protocol(s) for this flow. If you want this flow to be able to use any protocol within the internet protocol suite, use the value `ip`. If you only want to allow a selection of protocols, you must use the corresponding IANA Assigned Internet Protocol Number for each protocol, as described in https://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml. For example, for UDP, you must use 17. If you use the value `ip` then you must leave the field `port` unspecified.
*
* @return builder
*
*/
public Builder protocol(Output> protocol) {
$.protocol = protocol;
return this;
}
/**
* @param protocol A list of the allowed protocol(s) for this flow. If you want this flow to be able to use any protocol within the internet protocol suite, use the value `ip`. If you only want to allow a selection of protocols, you must use the corresponding IANA Assigned Internet Protocol Number for each protocol, as described in https://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml. For example, for UDP, you must use 17. If you use the value `ip` then you must leave the field `port` unspecified.
*
* @return builder
*
*/
public Builder protocol(List protocol) {
return protocol(Output.of(protocol));
}
/**
* @param protocol A list of the allowed protocol(s) for this flow. If you want this flow to be able to use any protocol within the internet protocol suite, use the value `ip`. If you only want to allow a selection of protocols, you must use the corresponding IANA Assigned Internet Protocol Number for each protocol, as described in https://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml. For example, for UDP, you must use 17. If you use the value `ip` then you must leave the field `port` unspecified.
*
* @return builder
*
*/
public Builder protocol(String... protocol) {
return protocol(List.of(protocol));
}
/**
* @param remoteIpList The remote IP address(es) to which UEs will connect for this flow. If you want to allow connections on any IP address, use the value `any`. Otherwise, you must provide each of the remote IP addresses to which the packet core instance will connect for this flow. You must provide each IP address in CIDR notation, including the netmask (for example, 192.0.2.54/24).
*
* @return builder
*
*/
public Builder remoteIpList(Output> remoteIpList) {
$.remoteIpList = remoteIpList;
return this;
}
/**
* @param remoteIpList The remote IP address(es) to which UEs will connect for this flow. If you want to allow connections on any IP address, use the value `any`. Otherwise, you must provide each of the remote IP addresses to which the packet core instance will connect for this flow. You must provide each IP address in CIDR notation, including the netmask (for example, 192.0.2.54/24).
*
* @return builder
*
*/
public Builder remoteIpList(List remoteIpList) {
return remoteIpList(Output.of(remoteIpList));
}
/**
* @param remoteIpList The remote IP address(es) to which UEs will connect for this flow. If you want to allow connections on any IP address, use the value `any`. Otherwise, you must provide each of the remote IP addresses to which the packet core instance will connect for this flow. You must provide each IP address in CIDR notation, including the netmask (for example, 192.0.2.54/24).
*
* @return builder
*
*/
public Builder remoteIpList(String... remoteIpList) {
return remoteIpList(List.of(remoteIpList));
}
/**
* @param templateName The name of the data flow template. This must be unique within the parent data flow policy rule. You must not use any of the following reserved strings - `default`, `requested` or `service`.
*
* @return builder
*
*/
public Builder templateName(Output templateName) {
$.templateName = templateName;
return this;
}
/**
* @param templateName The name of the data flow template. This must be unique within the parent data flow policy rule. You must not use any of the following reserved strings - `default`, `requested` or `service`.
*
* @return builder
*
*/
public Builder templateName(String templateName) {
return templateName(Output.of(templateName));
}
public ServiceDataFlowTemplateArgs build() {
if ($.direction == null) {
throw new MissingRequiredPropertyException("ServiceDataFlowTemplateArgs", "direction");
}
if ($.protocol == null) {
throw new MissingRequiredPropertyException("ServiceDataFlowTemplateArgs", "protocol");
}
if ($.remoteIpList == null) {
throw new MissingRequiredPropertyException("ServiceDataFlowTemplateArgs", "remoteIpList");
}
if ($.templateName == null) {
throw new MissingRequiredPropertyException("ServiceDataFlowTemplateArgs", "templateName");
}
return $;
}
}
}