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

com.onegini.sdk.model.config.v2.certificates.KeyPair Maven / Gradle / Ivy

There is a newer version: 5.92.0
Show newest version
/*
 * Copyright 2013-2020 Onegini b.v.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License 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.onegini.sdk.model.config.v2.certificates;

import static com.fasterxml.jackson.annotation.JsonInclude.Include.NON_EMPTY;
import static com.onegini.sdk.api.ValidationConstants.MAX_COMMON_COLUMN_LENGTH;

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.Size;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@JsonIgnoreProperties(ignoreUnknown = true)
@JsonInclude(NON_EMPTY)
public class KeyPair {

  @JsonProperty("id")
  private String id;

  @JsonProperty("name")
  @NotEmpty
  @Size(max = MAX_COMMON_COLUMN_LENGTH)
  private String name;

  @JsonProperty("key_type")
  @NotEmpty
  private KeyType keyType;

  @JsonProperty("private_key")
  private String privateKey;

  @JsonProperty("public_key")
  private String publicKey;

  public KeyPair(final String name, final KeyType keyType, final String privateKey, final String publicKey) {
    this.name = name;
    this.keyType = keyType;
    this.privateKey = privateKey;
    this.publicKey = publicKey;
  }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy