com.pulumi.azure.orbital.outputs.ContactProfileLinkChannel Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of azure Show documentation
Show all versions of azure Show documentation
A Pulumi package for creating and managing Microsoft Azure cloud resources, based on the Terraform azurerm provider. We recommend using the [Azure Native provider](https://github.com/pulumi/pulumi-azure-native) to provision Azure infrastructure. Azure Native provides complete coverage of Azure resources and same-day access to new resources and resource updates.
// *** 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.azure.orbital.outputs;
import com.pulumi.azure.orbital.outputs.ContactProfileLinkChannelEndPoint;
import com.pulumi.core.annotations.CustomType;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Double;
import java.lang.String;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;
@CustomType
public final class ContactProfileLinkChannel {
/**
* @return Bandwidth in MHz.
*
*/
private Double bandwidthMhz;
/**
* @return Center frequency in MHz.
*
*/
private Double centerFrequencyMhz;
/**
* @return Copy of the modem configuration file such as Kratos QRadio or Kratos QuantumRx. Only valid for downlink directions. If provided, the modem connects to the customer endpoint and sends demodulated data instead of a VITA.49 stream.
*
*/
private @Nullable String demodulationConfiguration;
/**
* @return Customer End point to store/retrieve data during a contact. An `end_point` block as defined below.
*
*/
private List endPoints;
/**
* @return Copy of the modem configuration file such as Kratos QRadio. Only valid for uplink directions. If provided, the modem connects to the customer endpoint and accepts commands from the customer instead of a VITA.49 stream.
*
*/
private @Nullable String modulationConfiguration;
/**
* @return Name of the channel.
*
*/
private String name;
private ContactProfileLinkChannel() {}
/**
* @return Bandwidth in MHz.
*
*/
public Double bandwidthMhz() {
return this.bandwidthMhz;
}
/**
* @return Center frequency in MHz.
*
*/
public Double centerFrequencyMhz() {
return this.centerFrequencyMhz;
}
/**
* @return Copy of the modem configuration file such as Kratos QRadio or Kratos QuantumRx. Only valid for downlink directions. If provided, the modem connects to the customer endpoint and sends demodulated data instead of a VITA.49 stream.
*
*/
public Optional demodulationConfiguration() {
return Optional.ofNullable(this.demodulationConfiguration);
}
/**
* @return Customer End point to store/retrieve data during a contact. An `end_point` block as defined below.
*
*/
public List endPoints() {
return this.endPoints;
}
/**
* @return Copy of the modem configuration file such as Kratos QRadio. Only valid for uplink directions. If provided, the modem connects to the customer endpoint and accepts commands from the customer instead of a VITA.49 stream.
*
*/
public Optional modulationConfiguration() {
return Optional.ofNullable(this.modulationConfiguration);
}
/**
* @return Name of the channel.
*
*/
public String name() {
return this.name;
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(ContactProfileLinkChannel defaults) {
return new Builder(defaults);
}
@CustomType.Builder
public static final class Builder {
private Double bandwidthMhz;
private Double centerFrequencyMhz;
private @Nullable String demodulationConfiguration;
private List endPoints;
private @Nullable String modulationConfiguration;
private String name;
public Builder() {}
public Builder(ContactProfileLinkChannel defaults) {
Objects.requireNonNull(defaults);
this.bandwidthMhz = defaults.bandwidthMhz;
this.centerFrequencyMhz = defaults.centerFrequencyMhz;
this.demodulationConfiguration = defaults.demodulationConfiguration;
this.endPoints = defaults.endPoints;
this.modulationConfiguration = defaults.modulationConfiguration;
this.name = defaults.name;
}
@CustomType.Setter
public Builder bandwidthMhz(Double bandwidthMhz) {
if (bandwidthMhz == null) {
throw new MissingRequiredPropertyException("ContactProfileLinkChannel", "bandwidthMhz");
}
this.bandwidthMhz = bandwidthMhz;
return this;
}
@CustomType.Setter
public Builder centerFrequencyMhz(Double centerFrequencyMhz) {
if (centerFrequencyMhz == null) {
throw new MissingRequiredPropertyException("ContactProfileLinkChannel", "centerFrequencyMhz");
}
this.centerFrequencyMhz = centerFrequencyMhz;
return this;
}
@CustomType.Setter
public Builder demodulationConfiguration(@Nullable String demodulationConfiguration) {
this.demodulationConfiguration = demodulationConfiguration;
return this;
}
@CustomType.Setter
public Builder endPoints(List endPoints) {
if (endPoints == null) {
throw new MissingRequiredPropertyException("ContactProfileLinkChannel", "endPoints");
}
this.endPoints = endPoints;
return this;
}
public Builder endPoints(ContactProfileLinkChannelEndPoint... endPoints) {
return endPoints(List.of(endPoints));
}
@CustomType.Setter
public Builder modulationConfiguration(@Nullable String modulationConfiguration) {
this.modulationConfiguration = modulationConfiguration;
return this;
}
@CustomType.Setter
public Builder name(String name) {
if (name == null) {
throw new MissingRequiredPropertyException("ContactProfileLinkChannel", "name");
}
this.name = name;
return this;
}
public ContactProfileLinkChannel build() {
final var _resultValue = new ContactProfileLinkChannel();
_resultValue.bandwidthMhz = bandwidthMhz;
_resultValue.centerFrequencyMhz = centerFrequencyMhz;
_resultValue.demodulationConfiguration = demodulationConfiguration;
_resultValue.endPoints = endPoints;
_resultValue.modulationConfiguration = modulationConfiguration;
_resultValue.name = name;
return _resultValue;
}
}
}