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

com.amazonaws.services.lambda.model.FunctionUrlConfig Maven / Gradle / Ivy

/*
 * 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.lambda.model;

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

/**
 * 

* Details about a Lambda function URL. *

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

* The HTTP URL endpoint for your function. *

*/ private String functionUrl; /** *

* The Amazon Resource Name (ARN) of your function. *

*/ private String functionArn; /** *

* When the function URL was created, in ISO-8601 format * (YYYY-MM-DDThh:mm:ss.sTZD). *

*/ private String creationTime; /** *

* When the function URL configuration was last updated, in ISO-8601 * format (YYYY-MM-DDThh:mm:ss.sTZD). *

*/ private String lastModifiedTime; /** *

* The cross-origin resource sharing (CORS) * settings for your function URL. *

*/ private Cors cors; /** *

* The type of authentication that your function URL uses. Set to AWS_IAM if you want to restrict * access to authenticated users only. Set to NONE if you want to bypass IAM authentication to create a * public endpoint. For more information, see Security and auth model for Lambda function * URLs. *

*/ private String authType; /** *

* Use one of the following options: *

*
    *
  • *

    * BUFFERED – This is the default option. Lambda invokes your function using the Invoke * API operation. Invocation results are available when the payload is complete. The maximum payload size is 6 MB. *

    *
  • *
  • *

    * RESPONSE_STREAM – Your function streams payload results as they become available. Lambda invokes * your function using the InvokeWithResponseStream API operation. The maximum response payload size is * 20 MB, however, you can request a quota * increase. *

    *
  • *
*/ private String invokeMode; /** *

* The HTTP URL endpoint for your function. *

* * @param functionUrl * The HTTP URL endpoint for your function. */ public void setFunctionUrl(String functionUrl) { this.functionUrl = functionUrl; } /** *

* The HTTP URL endpoint for your function. *

* * @return The HTTP URL endpoint for your function. */ public String getFunctionUrl() { return this.functionUrl; } /** *

* The HTTP URL endpoint for your function. *

* * @param functionUrl * The HTTP URL endpoint for your function. * @return Returns a reference to this object so that method calls can be chained together. */ public FunctionUrlConfig withFunctionUrl(String functionUrl) { setFunctionUrl(functionUrl); return this; } /** *

* The Amazon Resource Name (ARN) of your function. *

* * @param functionArn * The Amazon Resource Name (ARN) of your function. */ public void setFunctionArn(String functionArn) { this.functionArn = functionArn; } /** *

* The Amazon Resource Name (ARN) of your function. *

* * @return The Amazon Resource Name (ARN) of your function. */ public String getFunctionArn() { return this.functionArn; } /** *

* The Amazon Resource Name (ARN) of your function. *

* * @param functionArn * The Amazon Resource Name (ARN) of your function. * @return Returns a reference to this object so that method calls can be chained together. */ public FunctionUrlConfig withFunctionArn(String functionArn) { setFunctionArn(functionArn); return this; } /** *

* When the function URL was created, in ISO-8601 format * (YYYY-MM-DDThh:mm:ss.sTZD). *

* * @param creationTime * When the function URL was created, in ISO-8601 format * (YYYY-MM-DDThh:mm:ss.sTZD). */ public void setCreationTime(String creationTime) { this.creationTime = creationTime; } /** *

* When the function URL was created, in ISO-8601 format * (YYYY-MM-DDThh:mm:ss.sTZD). *

* * @return When the function URL was created, in ISO-8601 format * (YYYY-MM-DDThh:mm:ss.sTZD). */ public String getCreationTime() { return this.creationTime; } /** *

* When the function URL was created, in ISO-8601 format * (YYYY-MM-DDThh:mm:ss.sTZD). *

* * @param creationTime * When the function URL was created, in ISO-8601 format * (YYYY-MM-DDThh:mm:ss.sTZD). * @return Returns a reference to this object so that method calls can be chained together. */ public FunctionUrlConfig withCreationTime(String creationTime) { setCreationTime(creationTime); return this; } /** *

* When the function URL configuration was last updated, in ISO-8601 * format (YYYY-MM-DDThh:mm:ss.sTZD). *

* * @param lastModifiedTime * When the function URL configuration was last updated, in ISO-8601 format (YYYY-MM-DDThh:mm:ss.sTZD). */ public void setLastModifiedTime(String lastModifiedTime) { this.lastModifiedTime = lastModifiedTime; } /** *

* When the function URL configuration was last updated, in ISO-8601 * format (YYYY-MM-DDThh:mm:ss.sTZD). *

* * @return When the function URL configuration was last updated, in ISO-8601 format (YYYY-MM-DDThh:mm:ss.sTZD). */ public String getLastModifiedTime() { return this.lastModifiedTime; } /** *

* When the function URL configuration was last updated, in ISO-8601 * format (YYYY-MM-DDThh:mm:ss.sTZD). *

* * @param lastModifiedTime * When the function URL configuration was last updated, in ISO-8601 format (YYYY-MM-DDThh:mm:ss.sTZD). * @return Returns a reference to this object so that method calls can be chained together. */ public FunctionUrlConfig withLastModifiedTime(String lastModifiedTime) { setLastModifiedTime(lastModifiedTime); return this; } /** *

* The cross-origin resource sharing (CORS) * settings for your function URL. *

* * @param cors * The cross-origin resource sharing * (CORS) settings for your function URL. */ public void setCors(Cors cors) { this.cors = cors; } /** *

* The cross-origin resource sharing (CORS) * settings for your function URL. *

* * @return The cross-origin resource sharing * (CORS) settings for your function URL. */ public Cors getCors() { return this.cors; } /** *

* The cross-origin resource sharing (CORS) * settings for your function URL. *

* * @param cors * The cross-origin resource sharing * (CORS) settings for your function URL. * @return Returns a reference to this object so that method calls can be chained together. */ public FunctionUrlConfig withCors(Cors cors) { setCors(cors); return this; } /** *

* The type of authentication that your function URL uses. Set to AWS_IAM if you want to restrict * access to authenticated users only. Set to NONE if you want to bypass IAM authentication to create a * public endpoint. For more information, see Security and auth model for Lambda function * URLs. *

* * @param authType * The type of authentication that your function URL uses. Set to AWS_IAM if you want to * restrict access to authenticated users only. Set to NONE if you want to bypass IAM * authentication to create a public endpoint. For more information, see Security and auth model for Lambda * function URLs. * @see FunctionUrlAuthType */ public void setAuthType(String authType) { this.authType = authType; } /** *

* The type of authentication that your function URL uses. Set to AWS_IAM if you want to restrict * access to authenticated users only. Set to NONE if you want to bypass IAM authentication to create a * public endpoint. For more information, see Security and auth model for Lambda function * URLs. *

* * @return The type of authentication that your function URL uses. Set to AWS_IAM if you want to * restrict access to authenticated users only. Set to NONE if you want to bypass IAM * authentication to create a public endpoint. For more information, see Security and auth model for Lambda * function URLs. * @see FunctionUrlAuthType */ public String getAuthType() { return this.authType; } /** *

* The type of authentication that your function URL uses. Set to AWS_IAM if you want to restrict * access to authenticated users only. Set to NONE if you want to bypass IAM authentication to create a * public endpoint. For more information, see Security and auth model for Lambda function * URLs. *

* * @param authType * The type of authentication that your function URL uses. Set to AWS_IAM if you want to * restrict access to authenticated users only. Set to NONE if you want to bypass IAM * authentication to create a public endpoint. For more information, see Security and auth model for Lambda * function URLs. * @return Returns a reference to this object so that method calls can be chained together. * @see FunctionUrlAuthType */ public FunctionUrlConfig withAuthType(String authType) { setAuthType(authType); return this; } /** *

* The type of authentication that your function URL uses. Set to AWS_IAM if you want to restrict * access to authenticated users only. Set to NONE if you want to bypass IAM authentication to create a * public endpoint. For more information, see Security and auth model for Lambda function * URLs. *

* * @param authType * The type of authentication that your function URL uses. Set to AWS_IAM if you want to * restrict access to authenticated users only. Set to NONE if you want to bypass IAM * authentication to create a public endpoint. For more information, see Security and auth model for Lambda * function URLs. * @return Returns a reference to this object so that method calls can be chained together. * @see FunctionUrlAuthType */ public FunctionUrlConfig withAuthType(FunctionUrlAuthType authType) { this.authType = authType.toString(); return this; } /** *

* Use one of the following options: *

*
    *
  • *

    * BUFFERED – This is the default option. Lambda invokes your function using the Invoke * API operation. Invocation results are available when the payload is complete. The maximum payload size is 6 MB. *

    *
  • *
  • *

    * RESPONSE_STREAM – Your function streams payload results as they become available. Lambda invokes * your function using the InvokeWithResponseStream API operation. The maximum response payload size is * 20 MB, however, you can request a quota * increase. *

    *
  • *
* * @param invokeMode * Use one of the following options:

*
    *
  • *

    * BUFFERED – This is the default option. Lambda invokes your function using the * Invoke API operation. Invocation results are available when the payload is complete. The * maximum payload size is 6 MB. *

    *
  • *
  • *

    * RESPONSE_STREAM – Your function streams payload results as they become available. Lambda * invokes your function using the InvokeWithResponseStream API operation. The maximum response * payload size is 20 MB, however, you can request a * quota increase. *

    *
  • * @see InvokeMode */ public void setInvokeMode(String invokeMode) { this.invokeMode = invokeMode; } /** *

    * Use one of the following options: *

    *
      *
    • *

      * BUFFERED – This is the default option. Lambda invokes your function using the Invoke * API operation. Invocation results are available when the payload is complete. The maximum payload size is 6 MB. *

      *
    • *
    • *

      * RESPONSE_STREAM – Your function streams payload results as they become available. Lambda invokes * your function using the InvokeWithResponseStream API operation. The maximum response payload size is * 20 MB, however, you can request a quota * increase. *

      *
    • *
    * * @return Use one of the following options:

    *
      *
    • *

      * BUFFERED – This is the default option. Lambda invokes your function using the * Invoke API operation. Invocation results are available when the payload is complete. The * maximum payload size is 6 MB. *

      *
    • *
    • *

      * RESPONSE_STREAM – Your function streams payload results as they become available. Lambda * invokes your function using the InvokeWithResponseStream API operation. The maximum response * payload size is 20 MB, however, you can request a * quota increase. *

      *
    • * @see InvokeMode */ public String getInvokeMode() { return this.invokeMode; } /** *

      * Use one of the following options: *

      *
        *
      • *

        * BUFFERED – This is the default option. Lambda invokes your function using the Invoke * API operation. Invocation results are available when the payload is complete. The maximum payload size is 6 MB. *

        *
      • *
      • *

        * RESPONSE_STREAM – Your function streams payload results as they become available. Lambda invokes * your function using the InvokeWithResponseStream API operation. The maximum response payload size is * 20 MB, however, you can request a quota * increase. *

        *
      • *
      * * @param invokeMode * Use one of the following options:

      *
        *
      • *

        * BUFFERED – This is the default option. Lambda invokes your function using the * Invoke API operation. Invocation results are available when the payload is complete. The * maximum payload size is 6 MB. *

        *
      • *
      • *

        * RESPONSE_STREAM – Your function streams payload results as they become available. Lambda * invokes your function using the InvokeWithResponseStream API operation. The maximum response * payload size is 20 MB, however, you can request a * quota increase. *

        *
      • * @return Returns a reference to this object so that method calls can be chained together. * @see InvokeMode */ public FunctionUrlConfig withInvokeMode(String invokeMode) { setInvokeMode(invokeMode); return this; } /** *

        * Use one of the following options: *

        *
          *
        • *

          * BUFFERED – This is the default option. Lambda invokes your function using the Invoke * API operation. Invocation results are available when the payload is complete. The maximum payload size is 6 MB. *

          *
        • *
        • *

          * RESPONSE_STREAM – Your function streams payload results as they become available. Lambda invokes * your function using the InvokeWithResponseStream API operation. The maximum response payload size is * 20 MB, however, you can request a quota * increase. *

          *
        • *
        * * @param invokeMode * Use one of the following options:

        *
          *
        • *

          * BUFFERED – This is the default option. Lambda invokes your function using the * Invoke API operation. Invocation results are available when the payload is complete. The * maximum payload size is 6 MB. *

          *
        • *
        • *

          * RESPONSE_STREAM – Your function streams payload results as they become available. Lambda * invokes your function using the InvokeWithResponseStream API operation. The maximum response * payload size is 20 MB, however, you can request a * quota increase. *

          *
        • * @return Returns a reference to this object so that method calls can be chained together. * @see InvokeMode */ public FunctionUrlConfig withInvokeMode(InvokeMode invokeMode) { this.invokeMode = invokeMode.toString(); 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 (getFunctionUrl() != null) sb.append("FunctionUrl: ").append(getFunctionUrl()).append(","); if (getFunctionArn() != null) sb.append("FunctionArn: ").append(getFunctionArn()).append(","); if (getCreationTime() != null) sb.append("CreationTime: ").append(getCreationTime()).append(","); if (getLastModifiedTime() != null) sb.append("LastModifiedTime: ").append(getLastModifiedTime()).append(","); if (getCors() != null) sb.append("Cors: ").append(getCors()).append(","); if (getAuthType() != null) sb.append("AuthType: ").append(getAuthType()).append(","); if (getInvokeMode() != null) sb.append("InvokeMode: ").append(getInvokeMode()); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof FunctionUrlConfig == false) return false; FunctionUrlConfig other = (FunctionUrlConfig) obj; if (other.getFunctionUrl() == null ^ this.getFunctionUrl() == null) return false; if (other.getFunctionUrl() != null && other.getFunctionUrl().equals(this.getFunctionUrl()) == false) return false; if (other.getFunctionArn() == null ^ this.getFunctionArn() == null) return false; if (other.getFunctionArn() != null && other.getFunctionArn().equals(this.getFunctionArn()) == false) return false; if (other.getCreationTime() == null ^ this.getCreationTime() == null) return false; if (other.getCreationTime() != null && other.getCreationTime().equals(this.getCreationTime()) == false) return false; if (other.getLastModifiedTime() == null ^ this.getLastModifiedTime() == null) return false; if (other.getLastModifiedTime() != null && other.getLastModifiedTime().equals(this.getLastModifiedTime()) == false) return false; if (other.getCors() == null ^ this.getCors() == null) return false; if (other.getCors() != null && other.getCors().equals(this.getCors()) == false) return false; if (other.getAuthType() == null ^ this.getAuthType() == null) return false; if (other.getAuthType() != null && other.getAuthType().equals(this.getAuthType()) == false) return false; if (other.getInvokeMode() == null ^ this.getInvokeMode() == null) return false; if (other.getInvokeMode() != null && other.getInvokeMode().equals(this.getInvokeMode()) == false) return false; return true; } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getFunctionUrl() == null) ? 0 : getFunctionUrl().hashCode()); hashCode = prime * hashCode + ((getFunctionArn() == null) ? 0 : getFunctionArn().hashCode()); hashCode = prime * hashCode + ((getCreationTime() == null) ? 0 : getCreationTime().hashCode()); hashCode = prime * hashCode + ((getLastModifiedTime() == null) ? 0 : getLastModifiedTime().hashCode()); hashCode = prime * hashCode + ((getCors() == null) ? 0 : getCors().hashCode()); hashCode = prime * hashCode + ((getAuthType() == null) ? 0 : getAuthType().hashCode()); hashCode = prime * hashCode + ((getInvokeMode() == null) ? 0 : getInvokeMode().hashCode()); return hashCode; } @Override public FunctionUrlConfig clone() { try { return (FunctionUrlConfig) 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.lambda.model.transform.FunctionUrlConfigMarshaller.getInstance().marshall(this, protocolMarshaller); } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy