All Downloads are FREE. Search and download functionalities are using the official Maven repository.

software.amazon.awssdk.services.devicefarm.model.AccountSettings Maven / Gradle / Ivy

Go to download

The AWS Java SDK for AWS Device Farm module holds the client classes that are used for communicating with AWS Device Farm

The newest version!
/*
 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
 * 
 * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with
 * the License. A copy of the License is located at
 * 
 * http://aws.amazon.com/apache2.0
 * 
 * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
 * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions
 * and limitations under the License.
 */

package software.amazon.awssdk.services.devicefarm.model;

import java.io.Serializable;
import java.util.Arrays;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import java.util.function.BiConsumer;
import java.util.function.Consumer;
import java.util.function.Function;
import software.amazon.awssdk.annotations.Generated;
import software.amazon.awssdk.core.SdkField;
import software.amazon.awssdk.core.SdkPojo;
import software.amazon.awssdk.core.protocol.MarshallLocation;
import software.amazon.awssdk.core.protocol.MarshallingType;
import software.amazon.awssdk.core.traits.LocationTrait;
import software.amazon.awssdk.core.traits.MapTrait;
import software.amazon.awssdk.core.util.DefaultSdkAutoConstructMap;
import software.amazon.awssdk.core.util.SdkAutoConstructMap;
import software.amazon.awssdk.utils.ToString;
import software.amazon.awssdk.utils.builder.CopyableBuilder;
import software.amazon.awssdk.utils.builder.ToCopyableBuilder;

/**
 * 

* A container for account-level settings in AWS Device Farm. *

*/ @Generated("software.amazon.awssdk:codegen") public final class AccountSettings implements SdkPojo, Serializable, ToCopyableBuilder { private static final SdkField AWS_ACCOUNT_NUMBER_FIELD = SdkField. builder(MarshallingType.STRING) .memberName("awsAccountNumber").getter(getter(AccountSettings::awsAccountNumber)) .setter(setter(Builder::awsAccountNumber)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("awsAccountNumber").build()).build(); private static final SdkField> UNMETERED_DEVICES_FIELD = SdkField .> builder(MarshallingType.MAP) .memberName("unmeteredDevices") .getter(getter(AccountSettings::unmeteredDevicesAsStrings)) .setter(setter(Builder::unmeteredDevicesWithStrings)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("unmeteredDevices").build(), MapTrait.builder() .keyLocationName("key") .valueLocationName("value") .valueFieldInfo( SdkField. builder(MarshallingType.INTEGER) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD) .locationName("value").build()).build()).build()).build(); private static final SdkField> UNMETERED_REMOTE_ACCESS_DEVICES_FIELD = SdkField .> builder(MarshallingType.MAP) .memberName("unmeteredRemoteAccessDevices") .getter(getter(AccountSettings::unmeteredRemoteAccessDevicesAsStrings)) .setter(setter(Builder::unmeteredRemoteAccessDevicesWithStrings)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("unmeteredRemoteAccessDevices") .build(), MapTrait.builder() .keyLocationName("key") .valueLocationName("value") .valueFieldInfo( SdkField. builder(MarshallingType.INTEGER) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD) .locationName("value").build()).build()).build()).build(); private static final SdkField MAX_JOB_TIMEOUT_MINUTES_FIELD = SdkField. builder(MarshallingType.INTEGER) .memberName("maxJobTimeoutMinutes").getter(getter(AccountSettings::maxJobTimeoutMinutes)) .setter(setter(Builder::maxJobTimeoutMinutes)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("maxJobTimeoutMinutes").build()) .build(); private static final SdkField TRIAL_MINUTES_FIELD = SdkField. builder(MarshallingType.SDK_POJO) .memberName("trialMinutes").getter(getter(AccountSettings::trialMinutes)).setter(setter(Builder::trialMinutes)) .constructor(TrialMinutes::builder) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("trialMinutes").build()).build(); private static final SdkField> MAX_SLOTS_FIELD = SdkField .> builder(MarshallingType.MAP) .memberName("maxSlots") .getter(getter(AccountSettings::maxSlots)) .setter(setter(Builder::maxSlots)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("maxSlots").build(), MapTrait.builder() .keyLocationName("key") .valueLocationName("value") .valueFieldInfo( SdkField. builder(MarshallingType.INTEGER) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD) .locationName("value").build()).build()).build()).build(); private static final SdkField DEFAULT_JOB_TIMEOUT_MINUTES_FIELD = SdkField . builder(MarshallingType.INTEGER).memberName("defaultJobTimeoutMinutes") .getter(getter(AccountSettings::defaultJobTimeoutMinutes)).setter(setter(Builder::defaultJobTimeoutMinutes)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("defaultJobTimeoutMinutes").build()) .build(); private static final SdkField SKIP_APP_RESIGN_FIELD = SdkField. builder(MarshallingType.BOOLEAN) .memberName("skipAppResign").getter(getter(AccountSettings::skipAppResign)).setter(setter(Builder::skipAppResign)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("skipAppResign").build()).build(); private static final List> SDK_FIELDS = Collections.unmodifiableList(Arrays.asList(AWS_ACCOUNT_NUMBER_FIELD, UNMETERED_DEVICES_FIELD, UNMETERED_REMOTE_ACCESS_DEVICES_FIELD, MAX_JOB_TIMEOUT_MINUTES_FIELD, TRIAL_MINUTES_FIELD, MAX_SLOTS_FIELD, DEFAULT_JOB_TIMEOUT_MINUTES_FIELD, SKIP_APP_RESIGN_FIELD)); private static final Map> SDK_NAME_TO_FIELD = memberNameToFieldInitializer(); private static final long serialVersionUID = 1L; private final String awsAccountNumber; private final Map unmeteredDevices; private final Map unmeteredRemoteAccessDevices; private final Integer maxJobTimeoutMinutes; private final TrialMinutes trialMinutes; private final Map maxSlots; private final Integer defaultJobTimeoutMinutes; private final Boolean skipAppResign; private AccountSettings(BuilderImpl builder) { this.awsAccountNumber = builder.awsAccountNumber; this.unmeteredDevices = builder.unmeteredDevices; this.unmeteredRemoteAccessDevices = builder.unmeteredRemoteAccessDevices; this.maxJobTimeoutMinutes = builder.maxJobTimeoutMinutes; this.trialMinutes = builder.trialMinutes; this.maxSlots = builder.maxSlots; this.defaultJobTimeoutMinutes = builder.defaultJobTimeoutMinutes; this.skipAppResign = builder.skipAppResign; } /** *

* The AWS account number specified in the AccountSettings container. *

* * @return The AWS account number specified in the AccountSettings container. */ public final String awsAccountNumber() { return awsAccountNumber; } /** *

* Returns the unmetered devices you have purchased or want to purchase. *

*

* 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 #hasUnmeteredDevices} method. *

* * @return Returns the unmetered devices you have purchased or want to purchase. */ public final Map unmeteredDevices() { return PurchasedDevicesMapCopier.copyStringToEnum(unmeteredDevices); } /** * For responses, this returns true if the service returned a value for the UnmeteredDevices 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 hasUnmeteredDevices() { return unmeteredDevices != null && !(unmeteredDevices instanceof SdkAutoConstructMap); } /** *

* Returns the unmetered devices you have purchased or want to purchase. *

*

* 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 #hasUnmeteredDevices} method. *

* * @return Returns the unmetered devices you have purchased or want to purchase. */ public final Map unmeteredDevicesAsStrings() { return unmeteredDevices; } /** *

* Returns the unmetered remote access devices you have purchased or want to purchase. *

*

* 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 #hasUnmeteredRemoteAccessDevices} method. *

* * @return Returns the unmetered remote access devices you have purchased or want to purchase. */ public final Map unmeteredRemoteAccessDevices() { return PurchasedDevicesMapCopier.copyStringToEnum(unmeteredRemoteAccessDevices); } /** * For responses, this returns true if the service returned a value for the UnmeteredRemoteAccessDevices 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 hasUnmeteredRemoteAccessDevices() { return unmeteredRemoteAccessDevices != null && !(unmeteredRemoteAccessDevices instanceof SdkAutoConstructMap); } /** *

* Returns the unmetered remote access devices you have purchased or want to purchase. *

*

* 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 #hasUnmeteredRemoteAccessDevices} method. *

* * @return Returns the unmetered remote access devices you have purchased or want to purchase. */ public final Map unmeteredRemoteAccessDevicesAsStrings() { return unmeteredRemoteAccessDevices; } /** *

* The maximum number of minutes a test run executes before it times out. *

* * @return The maximum number of minutes a test run executes before it times out. */ public final Integer maxJobTimeoutMinutes() { return maxJobTimeoutMinutes; } /** *

* Information about an AWS account's usage of free trial device minutes. *

* * @return Information about an AWS account's usage of free trial device minutes. */ public final TrialMinutes trialMinutes() { return trialMinutes; } /** * For responses, this returns true if the service returned a value for the MaxSlots 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 hasMaxSlots() { return maxSlots != null && !(maxSlots instanceof SdkAutoConstructMap); } /** *

* The maximum number of device slots that the AWS account can purchase. Each maximum is expressed as an * offering-id:number pair, where the offering-id represents one of the IDs returned by * the ListOfferings command. *

*

* 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 #hasMaxSlots} method. *

* * @return The maximum number of device slots that the AWS account can purchase. Each maximum is expressed as an * offering-id:number pair, where the offering-id represents one of the IDs * returned by the ListOfferings command. */ public final Map maxSlots() { return maxSlots; } /** *

* The default number of minutes (at the account level) a test run executes before it times out. The default value * is 150 minutes. *

* * @return The default number of minutes (at the account level) a test run executes before it times out. The default * value is 150 minutes. */ public final Integer defaultJobTimeoutMinutes() { return defaultJobTimeoutMinutes; } /** *

* When set to true, for private devices, Device Farm does not sign your app again. For public devices, * Device Farm always signs your apps again. *

*

* For more information about how Device Farm re-signs your apps, see Do you modify my app? in the AWS Device Farm FAQs. *

* * @return When set to true, for private devices, Device Farm does not sign your app again. For public * devices, Device Farm always signs your apps again.

*

* For more information about how Device Farm re-signs your apps, see Do you modify my app? in the AWS Device Farm * FAQs. */ public final Boolean skipAppResign() { return skipAppResign; } @Override public Builder toBuilder() { return new BuilderImpl(this); } public static Builder builder() { return new BuilderImpl(); } public static Class serializableBuilderClass() { return BuilderImpl.class; } @Override public final int hashCode() { int hashCode = 1; hashCode = 31 * hashCode + Objects.hashCode(awsAccountNumber()); hashCode = 31 * hashCode + Objects.hashCode(hasUnmeteredDevices() ? unmeteredDevicesAsStrings() : null); hashCode = 31 * hashCode + Objects.hashCode(hasUnmeteredRemoteAccessDevices() ? unmeteredRemoteAccessDevicesAsStrings() : null); hashCode = 31 * hashCode + Objects.hashCode(maxJobTimeoutMinutes()); hashCode = 31 * hashCode + Objects.hashCode(trialMinutes()); hashCode = 31 * hashCode + Objects.hashCode(hasMaxSlots() ? maxSlots() : null); hashCode = 31 * hashCode + Objects.hashCode(defaultJobTimeoutMinutes()); hashCode = 31 * hashCode + Objects.hashCode(skipAppResign()); return hashCode; } @Override public final boolean equals(Object obj) { return equalsBySdkFields(obj); } @Override public final boolean equalsBySdkFields(Object obj) { if (this == obj) { return true; } if (obj == null) { return false; } if (!(obj instanceof AccountSettings)) { return false; } AccountSettings other = (AccountSettings) obj; return Objects.equals(awsAccountNumber(), other.awsAccountNumber()) && hasUnmeteredDevices() == other.hasUnmeteredDevices() && Objects.equals(unmeteredDevicesAsStrings(), other.unmeteredDevicesAsStrings()) && hasUnmeteredRemoteAccessDevices() == other.hasUnmeteredRemoteAccessDevices() && Objects.equals(unmeteredRemoteAccessDevicesAsStrings(), other.unmeteredRemoteAccessDevicesAsStrings()) && Objects.equals(maxJobTimeoutMinutes(), other.maxJobTimeoutMinutes()) && Objects.equals(trialMinutes(), other.trialMinutes()) && hasMaxSlots() == other.hasMaxSlots() && Objects.equals(maxSlots(), other.maxSlots()) && Objects.equals(defaultJobTimeoutMinutes(), other.defaultJobTimeoutMinutes()) && Objects.equals(skipAppResign(), other.skipAppResign()); } /** * 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("AccountSettings") .add("AwsAccountNumber", awsAccountNumber()) .add("UnmeteredDevices", hasUnmeteredDevices() ? unmeteredDevicesAsStrings() : null) .add("UnmeteredRemoteAccessDevices", hasUnmeteredRemoteAccessDevices() ? unmeteredRemoteAccessDevicesAsStrings() : null) .add("MaxJobTimeoutMinutes", maxJobTimeoutMinutes()).add("TrialMinutes", trialMinutes()) .add("MaxSlots", hasMaxSlots() ? maxSlots() : null).add("DefaultJobTimeoutMinutes", defaultJobTimeoutMinutes()) .add("SkipAppResign", skipAppResign()).build(); } public final Optional getValueForField(String fieldName, Class clazz) { switch (fieldName) { case "awsAccountNumber": return Optional.ofNullable(clazz.cast(awsAccountNumber())); case "unmeteredDevices": return Optional.ofNullable(clazz.cast(unmeteredDevicesAsStrings())); case "unmeteredRemoteAccessDevices": return Optional.ofNullable(clazz.cast(unmeteredRemoteAccessDevicesAsStrings())); case "maxJobTimeoutMinutes": return Optional.ofNullable(clazz.cast(maxJobTimeoutMinutes())); case "trialMinutes": return Optional.ofNullable(clazz.cast(trialMinutes())); case "maxSlots": return Optional.ofNullable(clazz.cast(maxSlots())); case "defaultJobTimeoutMinutes": return Optional.ofNullable(clazz.cast(defaultJobTimeoutMinutes())); case "skipAppResign": return Optional.ofNullable(clazz.cast(skipAppResign())); default: return Optional.empty(); } } @Override public final List> sdkFields() { return SDK_FIELDS; } @Override public final Map> sdkFieldNameToField() { return SDK_NAME_TO_FIELD; } private static Map> memberNameToFieldInitializer() { Map> map = new HashMap<>(); map.put("awsAccountNumber", AWS_ACCOUNT_NUMBER_FIELD); map.put("unmeteredDevices", UNMETERED_DEVICES_FIELD); map.put("unmeteredRemoteAccessDevices", UNMETERED_REMOTE_ACCESS_DEVICES_FIELD); map.put("maxJobTimeoutMinutes", MAX_JOB_TIMEOUT_MINUTES_FIELD); map.put("trialMinutes", TRIAL_MINUTES_FIELD); map.put("maxSlots", MAX_SLOTS_FIELD); map.put("defaultJobTimeoutMinutes", DEFAULT_JOB_TIMEOUT_MINUTES_FIELD); map.put("skipAppResign", SKIP_APP_RESIGN_FIELD); return Collections.unmodifiableMap(map); } private static Function getter(Function g) { return obj -> g.apply((AccountSettings) obj); } private static BiConsumer setter(BiConsumer s) { return (obj, val) -> s.accept((Builder) obj, val); } public interface Builder extends SdkPojo, CopyableBuilder { /** *

* The AWS account number specified in the AccountSettings container. *

* * @param awsAccountNumber * The AWS account number specified in the AccountSettings container. * @return Returns a reference to this object so that method calls can be chained together. */ Builder awsAccountNumber(String awsAccountNumber); /** *

* Returns the unmetered devices you have purchased or want to purchase. *

* * @param unmeteredDevices * Returns the unmetered devices you have purchased or want to purchase. * @return Returns a reference to this object so that method calls can be chained together. */ Builder unmeteredDevicesWithStrings(Map unmeteredDevices); /** *

* Returns the unmetered devices you have purchased or want to purchase. *

* * @param unmeteredDevices * Returns the unmetered devices you have purchased or want to purchase. * @return Returns a reference to this object so that method calls can be chained together. */ Builder unmeteredDevices(Map unmeteredDevices); /** *

* Returns the unmetered remote access devices you have purchased or want to purchase. *

* * @param unmeteredRemoteAccessDevices * Returns the unmetered remote access devices you have purchased or want to purchase. * @return Returns a reference to this object so that method calls can be chained together. */ Builder unmeteredRemoteAccessDevicesWithStrings(Map unmeteredRemoteAccessDevices); /** *

* Returns the unmetered remote access devices you have purchased or want to purchase. *

* * @param unmeteredRemoteAccessDevices * Returns the unmetered remote access devices you have purchased or want to purchase. * @return Returns a reference to this object so that method calls can be chained together. */ Builder unmeteredRemoteAccessDevices(Map unmeteredRemoteAccessDevices); /** *

* The maximum number of minutes a test run executes before it times out. *

* * @param maxJobTimeoutMinutes * The maximum number of minutes a test run executes before it times out. * @return Returns a reference to this object so that method calls can be chained together. */ Builder maxJobTimeoutMinutes(Integer maxJobTimeoutMinutes); /** *

* Information about an AWS account's usage of free trial device minutes. *

* * @param trialMinutes * Information about an AWS account's usage of free trial device minutes. * @return Returns a reference to this object so that method calls can be chained together. */ Builder trialMinutes(TrialMinutes trialMinutes); /** *

* Information about an AWS account's usage of free trial device minutes. *

* This is a convenience method that creates an instance of the {@link TrialMinutes.Builder} avoiding the need * to create one manually via {@link TrialMinutes#builder()}. * *

* When the {@link Consumer} completes, {@link TrialMinutes.Builder#build()} is called immediately and its * result is passed to {@link #trialMinutes(TrialMinutes)}. * * @param trialMinutes * a consumer that will call methods on {@link TrialMinutes.Builder} * @return Returns a reference to this object so that method calls can be chained together. * @see #trialMinutes(TrialMinutes) */ default Builder trialMinutes(Consumer trialMinutes) { return trialMinutes(TrialMinutes.builder().applyMutation(trialMinutes).build()); } /** *

* The maximum number of device slots that the AWS account can purchase. Each maximum is expressed as an * offering-id:number pair, where the offering-id represents one of the IDs returned * by the ListOfferings command. *

* * @param maxSlots * The maximum number of device slots that the AWS account can purchase. Each maximum is expressed as an * offering-id:number pair, where the offering-id represents one of the IDs * returned by the ListOfferings command. * @return Returns a reference to this object so that method calls can be chained together. */ Builder maxSlots(Map maxSlots); /** *

* The default number of minutes (at the account level) a test run executes before it times out. The default * value is 150 minutes. *

* * @param defaultJobTimeoutMinutes * The default number of minutes (at the account level) a test run executes before it times out. The * default value is 150 minutes. * @return Returns a reference to this object so that method calls can be chained together. */ Builder defaultJobTimeoutMinutes(Integer defaultJobTimeoutMinutes); /** *

* When set to true, for private devices, Device Farm does not sign your app again. For public * devices, Device Farm always signs your apps again. *

*

* For more information about how Device Farm re-signs your apps, see Do you modify my app? in the AWS Device Farm FAQs. *

* * @param skipAppResign * When set to true, for private devices, Device Farm does not sign your app again. For * public devices, Device Farm always signs your apps again.

*

* For more information about how Device Farm re-signs your apps, see Do you modify my app? in the AWS Device Farm * FAQs. * @return Returns a reference to this object so that method calls can be chained together. */ Builder skipAppResign(Boolean skipAppResign); } static final class BuilderImpl implements Builder { private String awsAccountNumber; private Map unmeteredDevices = DefaultSdkAutoConstructMap.getInstance(); private Map unmeteredRemoteAccessDevices = DefaultSdkAutoConstructMap.getInstance(); private Integer maxJobTimeoutMinutes; private TrialMinutes trialMinutes; private Map maxSlots = DefaultSdkAutoConstructMap.getInstance(); private Integer defaultJobTimeoutMinutes; private Boolean skipAppResign; private BuilderImpl() { } private BuilderImpl(AccountSettings model) { awsAccountNumber(model.awsAccountNumber); unmeteredDevicesWithStrings(model.unmeteredDevices); unmeteredRemoteAccessDevicesWithStrings(model.unmeteredRemoteAccessDevices); maxJobTimeoutMinutes(model.maxJobTimeoutMinutes); trialMinutes(model.trialMinutes); maxSlots(model.maxSlots); defaultJobTimeoutMinutes(model.defaultJobTimeoutMinutes); skipAppResign(model.skipAppResign); } public final String getAwsAccountNumber() { return awsAccountNumber; } public final void setAwsAccountNumber(String awsAccountNumber) { this.awsAccountNumber = awsAccountNumber; } @Override public final Builder awsAccountNumber(String awsAccountNumber) { this.awsAccountNumber = awsAccountNumber; return this; } public final Map getUnmeteredDevices() { if (unmeteredDevices instanceof SdkAutoConstructMap) { return null; } return unmeteredDevices; } public final void setUnmeteredDevices(Map unmeteredDevices) { this.unmeteredDevices = PurchasedDevicesMapCopier.copy(unmeteredDevices); } @Override public final Builder unmeteredDevicesWithStrings(Map unmeteredDevices) { this.unmeteredDevices = PurchasedDevicesMapCopier.copy(unmeteredDevices); return this; } @Override public final Builder unmeteredDevices(Map unmeteredDevices) { this.unmeteredDevices = PurchasedDevicesMapCopier.copyEnumToString(unmeteredDevices); return this; } public final Map getUnmeteredRemoteAccessDevices() { if (unmeteredRemoteAccessDevices instanceof SdkAutoConstructMap) { return null; } return unmeteredRemoteAccessDevices; } public final void setUnmeteredRemoteAccessDevices(Map unmeteredRemoteAccessDevices) { this.unmeteredRemoteAccessDevices = PurchasedDevicesMapCopier.copy(unmeteredRemoteAccessDevices); } @Override public final Builder unmeteredRemoteAccessDevicesWithStrings(Map unmeteredRemoteAccessDevices) { this.unmeteredRemoteAccessDevices = PurchasedDevicesMapCopier.copy(unmeteredRemoteAccessDevices); return this; } @Override public final Builder unmeteredRemoteAccessDevices(Map unmeteredRemoteAccessDevices) { this.unmeteredRemoteAccessDevices = PurchasedDevicesMapCopier.copyEnumToString(unmeteredRemoteAccessDevices); return this; } public final Integer getMaxJobTimeoutMinutes() { return maxJobTimeoutMinutes; } public final void setMaxJobTimeoutMinutes(Integer maxJobTimeoutMinutes) { this.maxJobTimeoutMinutes = maxJobTimeoutMinutes; } @Override public final Builder maxJobTimeoutMinutes(Integer maxJobTimeoutMinutes) { this.maxJobTimeoutMinutes = maxJobTimeoutMinutes; return this; } public final TrialMinutes.Builder getTrialMinutes() { return trialMinutes != null ? trialMinutes.toBuilder() : null; } public final void setTrialMinutes(TrialMinutes.BuilderImpl trialMinutes) { this.trialMinutes = trialMinutes != null ? trialMinutes.build() : null; } @Override public final Builder trialMinutes(TrialMinutes trialMinutes) { this.trialMinutes = trialMinutes; return this; } public final Map getMaxSlots() { if (maxSlots instanceof SdkAutoConstructMap) { return null; } return maxSlots; } public final void setMaxSlots(Map maxSlots) { this.maxSlots = MaxSlotMapCopier.copy(maxSlots); } @Override public final Builder maxSlots(Map maxSlots) { this.maxSlots = MaxSlotMapCopier.copy(maxSlots); return this; } public final Integer getDefaultJobTimeoutMinutes() { return defaultJobTimeoutMinutes; } public final void setDefaultJobTimeoutMinutes(Integer defaultJobTimeoutMinutes) { this.defaultJobTimeoutMinutes = defaultJobTimeoutMinutes; } @Override public final Builder defaultJobTimeoutMinutes(Integer defaultJobTimeoutMinutes) { this.defaultJobTimeoutMinutes = defaultJobTimeoutMinutes; return this; } public final Boolean getSkipAppResign() { return skipAppResign; } public final void setSkipAppResign(Boolean skipAppResign) { this.skipAppResign = skipAppResign; } @Override public final Builder skipAppResign(Boolean skipAppResign) { this.skipAppResign = skipAppResign; return this; } @Override public AccountSettings build() { return new AccountSettings(this); } @Override public List> sdkFields() { return SDK_FIELDS; } @Override public Map> sdkFieldNameToField() { return SDK_NAME_TO_FIELD; } } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy