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

com.amazonaws.services.ecs.model.SystemControl Maven / Gradle / Ivy

Go to download

The AWS Java SDK for the Amazon EC2 Container Service holds the client classes that are used for communicating with the Amazon EC2 Container Service

The newest version!
/*
 * Copyright 2019-2024 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 com.amazonaws.services.ecs.model;

import java.io.Serializable;
import javax.annotation.Generated;
import com.amazonaws.protocol.StructuredPojo;
import com.amazonaws.protocol.ProtocolMarshaller;

/**
 * 

* A list of namespaced kernel parameters to set in the container. This parameter maps to Sysctls in the Create a container section of the Docker Remote API and the --sysctl option to docker run. For example, you can * configure net.ipv4.tcp_keepalive_time setting to maintain longer lived connections. *

*

* We don't recommend that you specify network-related systemControls parameters for multiple containers in * a single task that also uses either the awsvpc or host network mode. Doing this has the * following disadvantages: *

*
    *
  • *

    * For tasks that use the awsvpc network mode including Fargate, if you set systemControls for * any container, it applies to all containers in the task. If you set different systemControls for * multiple containers in a single task, the container that's started last determines which systemControls * take effect. *

    *
  • *
  • *

    * For tasks that use the host network mode, the network namespace systemControls aren't * supported. *

    *
  • *
*

* If you're setting an IPC resource namespace to use for the containers in the task, the following conditions apply to * your system controls. For more information, see IPC mode. *

*
    *
  • *

    * For tasks that use the host IPC mode, IPC namespace systemControls aren't supported. *

    *
  • *
  • *

    * For tasks that use the task IPC mode, IPC namespace systemControls values apply to all * containers within a task. *

    *
  • *
* *

* This parameter is not supported for Windows containers. *

*
*

* This parameter is only supported for tasks that are hosted on Fargate if the tasks are using platform version * 1.4.0 or later (Linux). This isn't supported for Windows containers on Fargate. *

*
* * @see AWS API * Documentation */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class SystemControl implements Serializable, Cloneable, StructuredPojo { /** *

* The namespaced kernel parameter to set a value for. *

*/ private String namespace; /** *

* The namespaced kernel parameter to set a value for. *

*

* Valid IPC namespace values: * "kernel.msgmax" | "kernel.msgmnb" | "kernel.msgmni" | "kernel.sem" | "kernel.shmall" | "kernel.shmmax" | "kernel.shmmni" | "kernel.shm_rmid_forced" * , and Sysctls that start with "fs.mqueue.*" *

*

* Valid network namespace values: Sysctls that start with "net.*" *

*

* All of these values are supported by Fargate. *

*/ private String value; /** *

* The namespaced kernel parameter to set a value for. *

* * @param namespace * The namespaced kernel parameter to set a value for. */ public void setNamespace(String namespace) { this.namespace = namespace; } /** *

* The namespaced kernel parameter to set a value for. *

* * @return The namespaced kernel parameter to set a value for. */ public String getNamespace() { return this.namespace; } /** *

* The namespaced kernel parameter to set a value for. *

* * @param namespace * The namespaced kernel parameter to set a value for. * @return Returns a reference to this object so that method calls can be chained together. */ public SystemControl withNamespace(String namespace) { setNamespace(namespace); return this; } /** *

* The namespaced kernel parameter to set a value for. *

*

* Valid IPC namespace values: * "kernel.msgmax" | "kernel.msgmnb" | "kernel.msgmni" | "kernel.sem" | "kernel.shmall" | "kernel.shmmax" | "kernel.shmmni" | "kernel.shm_rmid_forced" * , and Sysctls that start with "fs.mqueue.*" *

*

* Valid network namespace values: Sysctls that start with "net.*" *

*

* All of these values are supported by Fargate. *

* * @param value * The namespaced kernel parameter to set a value for.

*

* Valid IPC namespace values: * "kernel.msgmax" | "kernel.msgmnb" | "kernel.msgmni" | "kernel.sem" | "kernel.shmall" | "kernel.shmmax" | "kernel.shmmni" | "kernel.shm_rmid_forced" * , and Sysctls that start with "fs.mqueue.*" *

*

* Valid network namespace values: Sysctls that start with "net.*" *

*

* All of these values are supported by Fargate. */ public void setValue(String value) { this.value = value; } /** *

* The namespaced kernel parameter to set a value for. *

*

* Valid IPC namespace values: * "kernel.msgmax" | "kernel.msgmnb" | "kernel.msgmni" | "kernel.sem" | "kernel.shmall" | "kernel.shmmax" | "kernel.shmmni" | "kernel.shm_rmid_forced" * , and Sysctls that start with "fs.mqueue.*" *

*

* Valid network namespace values: Sysctls that start with "net.*" *

*

* All of these values are supported by Fargate. *

* * @return The namespaced kernel parameter to set a value for.

*

* Valid IPC namespace values: * "kernel.msgmax" | "kernel.msgmnb" | "kernel.msgmni" | "kernel.sem" | "kernel.shmall" | "kernel.shmmax" | "kernel.shmmni" | "kernel.shm_rmid_forced" * , and Sysctls that start with "fs.mqueue.*" *

*

* Valid network namespace values: Sysctls that start with "net.*" *

*

* All of these values are supported by Fargate. */ public String getValue() { return this.value; } /** *

* The namespaced kernel parameter to set a value for. *

*

* Valid IPC namespace values: * "kernel.msgmax" | "kernel.msgmnb" | "kernel.msgmni" | "kernel.sem" | "kernel.shmall" | "kernel.shmmax" | "kernel.shmmni" | "kernel.shm_rmid_forced" * , and Sysctls that start with "fs.mqueue.*" *

*

* Valid network namespace values: Sysctls that start with "net.*" *

*

* All of these values are supported by Fargate. *

* * @param value * The namespaced kernel parameter to set a value for.

*

* Valid IPC namespace values: * "kernel.msgmax" | "kernel.msgmnb" | "kernel.msgmni" | "kernel.sem" | "kernel.shmall" | "kernel.shmmax" | "kernel.shmmni" | "kernel.shm_rmid_forced" * , and Sysctls that start with "fs.mqueue.*" *

*

* Valid network namespace values: Sysctls that start with "net.*" *

*

* All of these values are supported by Fargate. * @return Returns a reference to this object so that method calls can be chained together. */ public SystemControl withValue(String value) { setValue(value); return this; } /** * 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. * * @return A string representation of this object. * * @see java.lang.Object#toString() */ @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("{"); if (getNamespace() != null) sb.append("Namespace: ").append(getNamespace()).append(","); if (getValue() != null) sb.append("Value: ").append(getValue()); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof SystemControl == false) return false; SystemControl other = (SystemControl) obj; if (other.getNamespace() == null ^ this.getNamespace() == null) return false; if (other.getNamespace() != null && other.getNamespace().equals(this.getNamespace()) == false) return false; if (other.getValue() == null ^ this.getValue() == null) return false; if (other.getValue() != null && other.getValue().equals(this.getValue()) == false) return false; return true; } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getNamespace() == null) ? 0 : getNamespace().hashCode()); hashCode = prime * hashCode + ((getValue() == null) ? 0 : getValue().hashCode()); return hashCode; } @Override public SystemControl clone() { try { return (SystemControl) super.clone(); } catch (CloneNotSupportedException e) { throw new IllegalStateException("Got a CloneNotSupportedException from Object.clone() " + "even though we're Cloneable!", e); } } @com.amazonaws.annotation.SdkInternalApi @Override public void marshall(ProtocolMarshaller protocolMarshaller) { com.amazonaws.services.ecs.model.transform.SystemControlMarshaller.getInstance().marshall(this, protocolMarshaller); } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy