software.amazon.awssdk.services.appstream.model.CreateStreamingUrlRequest Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of appstream Show documentation
Show all versions of appstream Show documentation
The AWS Java SDK for Amazon AppStream module holds the client classes that are used for communicating
with Amazon AppStream.
/*
* 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.appstream.model;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
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.awscore.AwsRequestOverrideConfiguration;
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.utils.ToString;
import software.amazon.awssdk.utils.builder.CopyableBuilder;
import software.amazon.awssdk.utils.builder.ToCopyableBuilder;
/**
*/
@Generated("software.amazon.awssdk:codegen")
public final class CreateStreamingUrlRequest extends AppStreamRequest implements
ToCopyableBuilder {
private static final SdkField STACK_NAME_FIELD = SdkField. builder(MarshallingType.STRING)
.memberName("StackName").getter(getter(CreateStreamingUrlRequest::stackName)).setter(setter(Builder::stackName))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("StackName").build()).build();
private static final SdkField FLEET_NAME_FIELD = SdkField. builder(MarshallingType.STRING)
.memberName("FleetName").getter(getter(CreateStreamingUrlRequest::fleetName)).setter(setter(Builder::fleetName))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("FleetName").build()).build();
private static final SdkField USER_ID_FIELD = SdkField. builder(MarshallingType.STRING).memberName("UserId")
.getter(getter(CreateStreamingUrlRequest::userId)).setter(setter(Builder::userId))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("UserId").build()).build();
private static final SdkField APPLICATION_ID_FIELD = SdkField. builder(MarshallingType.STRING)
.memberName("ApplicationId").getter(getter(CreateStreamingUrlRequest::applicationId))
.setter(setter(Builder::applicationId))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("ApplicationId").build()).build();
private static final SdkField VALIDITY_FIELD = SdkField. builder(MarshallingType.LONG).memberName("Validity")
.getter(getter(CreateStreamingUrlRequest::validity)).setter(setter(Builder::validity))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("Validity").build()).build();
private static final SdkField SESSION_CONTEXT_FIELD = SdkField. builder(MarshallingType.STRING)
.memberName("SessionContext").getter(getter(CreateStreamingUrlRequest::sessionContext))
.setter(setter(Builder::sessionContext))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("SessionContext").build()).build();
private static final List> SDK_FIELDS = Collections.unmodifiableList(Arrays.asList(STACK_NAME_FIELD,
FLEET_NAME_FIELD, USER_ID_FIELD, APPLICATION_ID_FIELD, VALIDITY_FIELD, SESSION_CONTEXT_FIELD));
private final String stackName;
private final String fleetName;
private final String userId;
private final String applicationId;
private final Long validity;
private final String sessionContext;
private CreateStreamingUrlRequest(BuilderImpl builder) {
super(builder);
this.stackName = builder.stackName;
this.fleetName = builder.fleetName;
this.userId = builder.userId;
this.applicationId = builder.applicationId;
this.validity = builder.validity;
this.sessionContext = builder.sessionContext;
}
/**
*
* The name of the stack.
*
*
* @return The name of the stack.
*/
public final String stackName() {
return stackName;
}
/**
*
* The name of the fleet.
*
*
* @return The name of the fleet.
*/
public final String fleetName() {
return fleetName;
}
/**
*
* The identifier of the user.
*
*
* @return The identifier of the user.
*/
public final String userId() {
return userId;
}
/**
*
* The name of the application to launch after the session starts. This is the name that you specified as
* Name in the Image Assistant. If your fleet is enabled for the Desktop stream view, you can also
* choose to launch directly to the operating system desktop. To do so, specify Desktop.
*
*
* @return The name of the application to launch after the session starts. This is the name that you specified as
* Name in the Image Assistant. If your fleet is enabled for the Desktop stream view, you can
* also choose to launch directly to the operating system desktop. To do so, specify Desktop.
*/
public final String applicationId() {
return applicationId;
}
/**
*
* The time that the streaming URL will be valid, in seconds. Specify a value between 1 and 604800 seconds. The
* default is 60 seconds.
*
*
* @return The time that the streaming URL will be valid, in seconds. Specify a value between 1 and 604800 seconds.
* The default is 60 seconds.
*/
public final Long validity() {
return validity;
}
/**
*
* The session context. For more information, see Session Context in the Amazon AppStream 2.0 Administration Guide.
*
*
* @return The session context. For more information, see Session Context in the Amazon AppStream 2.0 Administration Guide.
*/
public final String sessionContext() {
return sessionContext;
}
@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(stackName());
hashCode = 31 * hashCode + Objects.hashCode(fleetName());
hashCode = 31 * hashCode + Objects.hashCode(userId());
hashCode = 31 * hashCode + Objects.hashCode(applicationId());
hashCode = 31 * hashCode + Objects.hashCode(validity());
hashCode = 31 * hashCode + Objects.hashCode(sessionContext());
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 CreateStreamingUrlRequest)) {
return false;
}
CreateStreamingUrlRequest other = (CreateStreamingUrlRequest) obj;
return Objects.equals(stackName(), other.stackName()) && Objects.equals(fleetName(), other.fleetName())
&& Objects.equals(userId(), other.userId()) && Objects.equals(applicationId(), other.applicationId())
&& Objects.equals(validity(), other.validity()) && Objects.equals(sessionContext(), other.sessionContext());
}
/**
* 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("CreateStreamingUrlRequest").add("StackName", stackName()).add("FleetName", fleetName())
.add("UserId", userId()).add("ApplicationId", applicationId()).add("Validity", validity())
.add("SessionContext", sessionContext()).build();
}
public final Optional getValueForField(String fieldName, Class clazz) {
switch (fieldName) {
case "StackName":
return Optional.ofNullable(clazz.cast(stackName()));
case "FleetName":
return Optional.ofNullable(clazz.cast(fleetName()));
case "UserId":
return Optional.ofNullable(clazz.cast(userId()));
case "ApplicationId":
return Optional.ofNullable(clazz.cast(applicationId()));
case "Validity":
return Optional.ofNullable(clazz.cast(validity()));
case "SessionContext":
return Optional.ofNullable(clazz.cast(sessionContext()));
default:
return Optional.empty();
}
}
@Override
public final List> sdkFields() {
return SDK_FIELDS;
}
private static Function
© 2015 - 2025 Weber Informatics LLC | Privacy Policy