vnfPkgIds;
private GetSolNetworkPackageResponse(BuilderImpl builder) {
super(builder);
this.arn = builder.arn;
this.id = builder.id;
this.metadata = builder.metadata;
this.nsdId = builder.nsdId;
this.nsdName = builder.nsdName;
this.nsdOnboardingState = builder.nsdOnboardingState;
this.nsdOperationalState = builder.nsdOperationalState;
this.nsdUsageState = builder.nsdUsageState;
this.nsdVersion = builder.nsdVersion;
this.tags = builder.tags;
this.vnfPkgIds = builder.vnfPkgIds;
}
/**
*
* Network package ARN.
*
*
* @return Network package ARN.
*/
public final String arn() {
return arn;
}
/**
*
* Network package ID.
*
*
* @return Network package ID.
*/
public final String id() {
return id;
}
/**
* Returns the value of the Metadata property for this object.
*
* @return The value of the Metadata property for this object.
*/
public final GetSolNetworkPackageMetadata metadata() {
return metadata;
}
/**
*
* Network service descriptor ID.
*
*
* @return Network service descriptor ID.
*/
public final String nsdId() {
return nsdId;
}
/**
*
* Network service descriptor name.
*
*
* @return Network service descriptor name.
*/
public final String nsdName() {
return nsdName;
}
/**
*
* Network service descriptor onboarding state.
*
*
* If the service returns an enum value that is not available in the current SDK version,
* {@link #nsdOnboardingState} will return {@link NsdOnboardingState#UNKNOWN_TO_SDK_VERSION}. The raw value returned
* by the service is available from {@link #nsdOnboardingStateAsString}.
*
*
* @return Network service descriptor onboarding state.
* @see NsdOnboardingState
*/
public final NsdOnboardingState nsdOnboardingState() {
return NsdOnboardingState.fromValue(nsdOnboardingState);
}
/**
*
* Network service descriptor onboarding state.
*
*
* If the service returns an enum value that is not available in the current SDK version,
* {@link #nsdOnboardingState} will return {@link NsdOnboardingState#UNKNOWN_TO_SDK_VERSION}. The raw value returned
* by the service is available from {@link #nsdOnboardingStateAsString}.
*
*
* @return Network service descriptor onboarding state.
* @see NsdOnboardingState
*/
public final String nsdOnboardingStateAsString() {
return nsdOnboardingState;
}
/**
*
* Network service descriptor operational state.
*
*
* If the service returns an enum value that is not available in the current SDK version,
* {@link #nsdOperationalState} will return {@link NsdOperationalState#UNKNOWN_TO_SDK_VERSION}. The raw value
* returned by the service is available from {@link #nsdOperationalStateAsString}.
*
*
* @return Network service descriptor operational state.
* @see NsdOperationalState
*/
public final NsdOperationalState nsdOperationalState() {
return NsdOperationalState.fromValue(nsdOperationalState);
}
/**
*
* Network service descriptor operational state.
*
*
* If the service returns an enum value that is not available in the current SDK version,
* {@link #nsdOperationalState} will return {@link NsdOperationalState#UNKNOWN_TO_SDK_VERSION}. The raw value
* returned by the service is available from {@link #nsdOperationalStateAsString}.
*
*
* @return Network service descriptor operational state.
* @see NsdOperationalState
*/
public final String nsdOperationalStateAsString() {
return nsdOperationalState;
}
/**
*
* Network service descriptor usage state.
*
*
* If the service returns an enum value that is not available in the current SDK version, {@link #nsdUsageState}
* will return {@link NsdUsageState#UNKNOWN_TO_SDK_VERSION}. The raw value returned by the service is available from
* {@link #nsdUsageStateAsString}.
*
*
* @return Network service descriptor usage state.
* @see NsdUsageState
*/
public final NsdUsageState nsdUsageState() {
return NsdUsageState.fromValue(nsdUsageState);
}
/**
*
* Network service descriptor usage state.
*
*
* If the service returns an enum value that is not available in the current SDK version, {@link #nsdUsageState}
* will return {@link NsdUsageState#UNKNOWN_TO_SDK_VERSION}. The raw value returned by the service is available from
* {@link #nsdUsageStateAsString}.
*
*
* @return Network service descriptor usage state.
* @see NsdUsageState
*/
public final String nsdUsageStateAsString() {
return nsdUsageState;
}
/**
*
* Network service descriptor version.
*
*
* @return Network service descriptor version.
*/
public final String nsdVersion() {
return nsdVersion;
}
/**
* For responses, this returns true if the service returned a value for the Tags property. This DOES NOT check that
* the value is non-empty (for which, you should check the {@code isEmpty()} method on the property). This is useful
* because the SDK will never return a null collection or map, but you may need to differentiate between the service
* returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true
* if a value for the property was specified in the request builder, and false if a value was not specified.
*/
public final boolean hasTags() {
return tags != null && !(tags instanceof SdkAutoConstructMap);
}
/**
*
* A tag is a label that you assign to an Amazon Web Services resource. Each tag consists of a key and an optional
* value. You can use tags to search and filter your resources or track your Amazon Web Services costs.
*
*
* Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.
*
*
* This method will never return null. If you would like to know whether the service returned this field (so that
* you can differentiate between null and empty), you can use the {@link #hasTags} method.
*
*
* @return A tag is a label that you assign to an Amazon Web Services resource. Each tag consists of a key and an
* optional value. You can use tags to search and filter your resources or track your Amazon Web Services
* costs.
*/
public final Map tags() {
return tags;
}
/**
* For responses, this returns true if the service returned a value for the VnfPkgIds property. This DOES NOT check
* that the value is non-empty (for which, you should check the {@code isEmpty()} method on the property). This is
* useful because the SDK will never return a null collection or map, but you may need to differentiate between the
* service returning nothing (or null) and the service returning an empty collection or map. For requests, this
* returns true if a value for the property was specified in the request builder, and false if a value was not
* specified.
*/
public final boolean hasVnfPkgIds() {
return vnfPkgIds != null && !(vnfPkgIds instanceof SdkAutoConstructList);
}
/**
*
* Identifies the function package for the function package descriptor referenced by the onboarded network package.
*
*
* Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.
*
*
* This method will never return null. If you would like to know whether the service returned this field (so that
* you can differentiate between null and empty), you can use the {@link #hasVnfPkgIds} method.
*
*
* @return Identifies the function package for the function package descriptor referenced by the onboarded network
* package.
*/
public final List vnfPkgIds() {
return vnfPkgIds;
}
@Override
public Builder toBuilder() {
return new BuilderImpl(this);
}
public static Builder builder() {
return new BuilderImpl();
}
public static Class extends Builder> serializableBuilderClass() {
return BuilderImpl.class;
}
@Override
public final int hashCode() {
int hashCode = 1;
hashCode = 31 * hashCode + super.hashCode();
hashCode = 31 * hashCode + Objects.hashCode(arn());
hashCode = 31 * hashCode + Objects.hashCode(id());
hashCode = 31 * hashCode + Objects.hashCode(metadata());
hashCode = 31 * hashCode + Objects.hashCode(nsdId());
hashCode = 31 * hashCode + Objects.hashCode(nsdName());
hashCode = 31 * hashCode + Objects.hashCode(nsdOnboardingStateAsString());
hashCode = 31 * hashCode + Objects.hashCode(nsdOperationalStateAsString());
hashCode = 31 * hashCode + Objects.hashCode(nsdUsageStateAsString());
hashCode = 31 * hashCode + Objects.hashCode(nsdVersion());
hashCode = 31 * hashCode + Objects.hashCode(hasTags() ? tags() : null);
hashCode = 31 * hashCode + Objects.hashCode(hasVnfPkgIds() ? vnfPkgIds() : null);
return hashCode;
}
@Override
public final boolean equals(Object obj) {
return super.equals(obj) && equalsBySdkFields(obj);
}
@Override
public final boolean equalsBySdkFields(Object obj) {
if (this == obj) {
return true;
}
if (obj == null) {
return false;
}
if (!(obj instanceof GetSolNetworkPackageResponse)) {
return false;
}
GetSolNetworkPackageResponse other = (GetSolNetworkPackageResponse) obj;
return Objects.equals(arn(), other.arn()) && Objects.equals(id(), other.id())
&& Objects.equals(metadata(), other.metadata()) && Objects.equals(nsdId(), other.nsdId())
&& Objects.equals(nsdName(), other.nsdName())
&& Objects.equals(nsdOnboardingStateAsString(), other.nsdOnboardingStateAsString())
&& Objects.equals(nsdOperationalStateAsString(), other.nsdOperationalStateAsString())
&& Objects.equals(nsdUsageStateAsString(), other.nsdUsageStateAsString())
&& Objects.equals(nsdVersion(), other.nsdVersion()) && hasTags() == other.hasTags()
&& Objects.equals(tags(), other.tags()) && hasVnfPkgIds() == other.hasVnfPkgIds()
&& Objects.equals(vnfPkgIds(), other.vnfPkgIds());
}
/**
* Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be
* redacted from this string using a placeholder value.
*/
@Override
public final String toString() {
return ToString.builder("GetSolNetworkPackageResponse").add("Arn", arn()).add("Id", id()).add("Metadata", metadata())
.add("NsdId", nsdId()).add("NsdName", nsdName()).add("NsdOnboardingState", nsdOnboardingStateAsString())
.add("NsdOperationalState", nsdOperationalStateAsString()).add("NsdUsageState", nsdUsageStateAsString())
.add("NsdVersion", nsdVersion()).add("Tags", tags() == null ? null : "*** Sensitive Data Redacted ***")
.add("VnfPkgIds", hasVnfPkgIds() ? vnfPkgIds() : null).build();
}
public final Optional getValueForField(String fieldName, Class clazz) {
switch (fieldName) {
case "arn":
return Optional.ofNullable(clazz.cast(arn()));
case "id":
return Optional.ofNullable(clazz.cast(id()));
case "metadata":
return Optional.ofNullable(clazz.cast(metadata()));
case "nsdId":
return Optional.ofNullable(clazz.cast(nsdId()));
case "nsdName":
return Optional.ofNullable(clazz.cast(nsdName()));
case "nsdOnboardingState":
return Optional.ofNullable(clazz.cast(nsdOnboardingStateAsString()));
case "nsdOperationalState":
return Optional.ofNullable(clazz.cast(nsdOperationalStateAsString()));
case "nsdUsageState":
return Optional.ofNullable(clazz.cast(nsdUsageStateAsString()));
case "nsdVersion":
return Optional.ofNullable(clazz.cast(nsdVersion()));
case "tags":
return Optional.ofNullable(clazz.cast(tags()));
case "vnfPkgIds":
return Optional.ofNullable(clazz.cast(vnfPkgIds()));
default:
return Optional.empty();
}
}
@Override
public final List> sdkFields() {
return SDK_FIELDS;
}
private static Function getter(Function g) {
return obj -> g.apply((GetSolNetworkPackageResponse) obj);
}
private static BiConsumer setter(BiConsumer s) {
return (obj, val) -> s.accept((Builder) obj, val);
}
public interface Builder extends TnbResponse.Builder, SdkPojo, CopyableBuilder {
/**
*
* Network package ARN.
*
*
* @param arn
* Network package ARN.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder arn(String arn);
/**
*
* Network package ID.
*
*
* @param id
* Network package ID.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder id(String id);
/**
* Sets the value of the Metadata property for this object.
*
* @param metadata
* The new value for the Metadata property for this object.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder metadata(GetSolNetworkPackageMetadata metadata);
/**
* Sets the value of the Metadata property for this object.
*
* This is a convenience method that creates an instance of the {@link GetSolNetworkPackageMetadata.Builder}
* avoiding the need to create one manually via {@link GetSolNetworkPackageMetadata#builder()}.
*
*
* When the {@link Consumer} completes, {@link GetSolNetworkPackageMetadata.Builder#build()} is called
* immediately and its result is passed to {@link #metadata(GetSolNetworkPackageMetadata)}.
*
* @param metadata
* a consumer that will call methods on {@link GetSolNetworkPackageMetadata.Builder}
* @return Returns a reference to this object so that method calls can be chained together.
* @see #metadata(GetSolNetworkPackageMetadata)
*/
default Builder metadata(Consumer metadata) {
return metadata(GetSolNetworkPackageMetadata.builder().applyMutation(metadata).build());
}
/**
*
* Network service descriptor ID.
*
*
* @param nsdId
* Network service descriptor ID.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder nsdId(String nsdId);
/**
*
* Network service descriptor name.
*
*
* @param nsdName
* Network service descriptor name.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder nsdName(String nsdName);
/**
*
* Network service descriptor onboarding state.
*
*
* @param nsdOnboardingState
* Network service descriptor onboarding state.
* @see NsdOnboardingState
* @return Returns a reference to this object so that method calls can be chained together.
* @see NsdOnboardingState
*/
Builder nsdOnboardingState(String nsdOnboardingState);
/**
*
* Network service descriptor onboarding state.
*
*
* @param nsdOnboardingState
* Network service descriptor onboarding state.
* @see NsdOnboardingState
* @return Returns a reference to this object so that method calls can be chained together.
* @see NsdOnboardingState
*/
Builder nsdOnboardingState(NsdOnboardingState nsdOnboardingState);
/**
*
* Network service descriptor operational state.
*
*
* @param nsdOperationalState
* Network service descriptor operational state.
* @see NsdOperationalState
* @return Returns a reference to this object so that method calls can be chained together.
* @see NsdOperationalState
*/
Builder nsdOperationalState(String nsdOperationalState);
/**
*
* Network service descriptor operational state.
*
*
* @param nsdOperationalState
* Network service descriptor operational state.
* @see NsdOperationalState
* @return Returns a reference to this object so that method calls can be chained together.
* @see NsdOperationalState
*/
Builder nsdOperationalState(NsdOperationalState nsdOperationalState);
/**
*
* Network service descriptor usage state.
*
*
* @param nsdUsageState
* Network service descriptor usage state.
* @see NsdUsageState
* @return Returns a reference to this object so that method calls can be chained together.
* @see NsdUsageState
*/
Builder nsdUsageState(String nsdUsageState);
/**
*
* Network service descriptor usage state.
*
*
* @param nsdUsageState
* Network service descriptor usage state.
* @see NsdUsageState
* @return Returns a reference to this object so that method calls can be chained together.
* @see NsdUsageState
*/
Builder nsdUsageState(NsdUsageState nsdUsageState);
/**
*
* Network service descriptor version.
*
*
* @param nsdVersion
* Network service descriptor version.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder nsdVersion(String nsdVersion);
/**
*
* A tag is a label that you assign to an Amazon Web Services resource. Each tag consists of a key and an
* optional value. You can use tags to search and filter your resources or track your Amazon Web Services costs.
*
*
* @param tags
* A tag is a label that you assign to an Amazon Web Services resource. Each tag consists of a key and an
* optional value. You can use tags to search and filter your resources or track your Amazon Web Services
* costs.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder tags(Map tags);
/**
*
* Identifies the function package for the function package descriptor referenced by the onboarded network
* package.
*
*
* @param vnfPkgIds
* Identifies the function package for the function package descriptor referenced by the onboarded
* network package.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder vnfPkgIds(Collection vnfPkgIds);
/**
*
* Identifies the function package for the function package descriptor referenced by the onboarded network
* package.
*
*
* @param vnfPkgIds
* Identifies the function package for the function package descriptor referenced by the onboarded
* network package.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder vnfPkgIds(String... vnfPkgIds);
}
static final class BuilderImpl extends TnbResponse.BuilderImpl implements Builder {
private String arn;
private String id;
private GetSolNetworkPackageMetadata metadata;
private String nsdId;
private String nsdName;
private String nsdOnboardingState;
private String nsdOperationalState;
private String nsdUsageState;
private String nsdVersion;
private Map tags = DefaultSdkAutoConstructMap.getInstance();
private List vnfPkgIds = DefaultSdkAutoConstructList.getInstance();
private BuilderImpl() {
}
private BuilderImpl(GetSolNetworkPackageResponse model) {
super(model);
arn(model.arn);
id(model.id);
metadata(model.metadata);
nsdId(model.nsdId);
nsdName(model.nsdName);
nsdOnboardingState(model.nsdOnboardingState);
nsdOperationalState(model.nsdOperationalState);
nsdUsageState(model.nsdUsageState);
nsdVersion(model.nsdVersion);
tags(model.tags);
vnfPkgIds(model.vnfPkgIds);
}
public final String getArn() {
return arn;
}
public final void setArn(String arn) {
this.arn = arn;
}
@Override
public final Builder arn(String arn) {
this.arn = arn;
return this;
}
public final String getId() {
return id;
}
public final void setId(String id) {
this.id = id;
}
@Override
public final Builder id(String id) {
this.id = id;
return this;
}
public final GetSolNetworkPackageMetadata.Builder getMetadata() {
return metadata != null ? metadata.toBuilder() : null;
}
public final void setMetadata(GetSolNetworkPackageMetadata.BuilderImpl metadata) {
this.metadata = metadata != null ? metadata.build() : null;
}
@Override
public final Builder metadata(GetSolNetworkPackageMetadata metadata) {
this.metadata = metadata;
return this;
}
public final String getNsdId() {
return nsdId;
}
public final void setNsdId(String nsdId) {
this.nsdId = nsdId;
}
@Override
public final Builder nsdId(String nsdId) {
this.nsdId = nsdId;
return this;
}
public final String getNsdName() {
return nsdName;
}
public final void setNsdName(String nsdName) {
this.nsdName = nsdName;
}
@Override
public final Builder nsdName(String nsdName) {
this.nsdName = nsdName;
return this;
}
public final String getNsdOnboardingState() {
return nsdOnboardingState;
}
public final void setNsdOnboardingState(String nsdOnboardingState) {
this.nsdOnboardingState = nsdOnboardingState;
}
@Override
public final Builder nsdOnboardingState(String nsdOnboardingState) {
this.nsdOnboardingState = nsdOnboardingState;
return this;
}
@Override
public final Builder nsdOnboardingState(NsdOnboardingState nsdOnboardingState) {
this.nsdOnboardingState(nsdOnboardingState == null ? null : nsdOnboardingState.toString());
return this;
}
public final String getNsdOperationalState() {
return nsdOperationalState;
}
public final void setNsdOperationalState(String nsdOperationalState) {
this.nsdOperationalState = nsdOperationalState;
}
@Override
public final Builder nsdOperationalState(String nsdOperationalState) {
this.nsdOperationalState = nsdOperationalState;
return this;
}
@Override
public final Builder nsdOperationalState(NsdOperationalState nsdOperationalState) {
this.nsdOperationalState(nsdOperationalState == null ? null : nsdOperationalState.toString());
return this;
}
public final String getNsdUsageState() {
return nsdUsageState;
}
public final void setNsdUsageState(String nsdUsageState) {
this.nsdUsageState = nsdUsageState;
}
@Override
public final Builder nsdUsageState(String nsdUsageState) {
this.nsdUsageState = nsdUsageState;
return this;
}
@Override
public final Builder nsdUsageState(NsdUsageState nsdUsageState) {
this.nsdUsageState(nsdUsageState == null ? null : nsdUsageState.toString());
return this;
}
public final String getNsdVersion() {
return nsdVersion;
}
public final void setNsdVersion(String nsdVersion) {
this.nsdVersion = nsdVersion;
}
@Override
public final Builder nsdVersion(String nsdVersion) {
this.nsdVersion = nsdVersion;
return this;
}
public final Map getTags() {
if (tags instanceof SdkAutoConstructMap) {
return null;
}
return tags;
}
public final void setTags(Map tags) {
this.tags = TagMapCopier.copy(tags);
}
@Override
public final Builder tags(Map tags) {
this.tags = TagMapCopier.copy(tags);
return this;
}
public final Collection getVnfPkgIds() {
if (vnfPkgIds instanceof SdkAutoConstructList) {
return null;
}
return vnfPkgIds;
}
public final void setVnfPkgIds(Collection vnfPkgIds) {
this.vnfPkgIds = VnfPkgIdListCopier.copy(vnfPkgIds);
}
@Override
public final Builder vnfPkgIds(Collection vnfPkgIds) {
this.vnfPkgIds = VnfPkgIdListCopier.copy(vnfPkgIds);
return this;
}
@Override
@SafeVarargs
public final Builder vnfPkgIds(String... vnfPkgIds) {
vnfPkgIds(Arrays.asList(vnfPkgIds));
return this;
}
@Override
public GetSolNetworkPackageResponse build() {
return new GetSolNetworkPackageResponse(this);
}
@Override
public List> sdkFields() {
return SDK_FIELDS;
}
}
}