/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace DirectConnect { namespace Model { /** *

Information about the MAC Security (MACsec) secret key.

See * Also:

AWS * API Reference

*/ class MacSecKey { public: AWS_DIRECTCONNECT_API MacSecKey(); AWS_DIRECTCONNECT_API MacSecKey(Aws::Utils::Json::JsonView jsonValue); AWS_DIRECTCONNECT_API MacSecKey& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_DIRECTCONNECT_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

The Amazon Resource Name (ARN) of the MAC Security (MACsec) secret key.

*/ inline const Aws::String& GetSecretARN() const{ return m_secretARN; } /** *

The Amazon Resource Name (ARN) of the MAC Security (MACsec) secret key.

*/ inline bool SecretARNHasBeenSet() const { return m_secretARNHasBeenSet; } /** *

The Amazon Resource Name (ARN) of the MAC Security (MACsec) secret key.

*/ inline void SetSecretARN(const Aws::String& value) { m_secretARNHasBeenSet = true; m_secretARN = value; } /** *

The Amazon Resource Name (ARN) of the MAC Security (MACsec) secret key.

*/ inline void SetSecretARN(Aws::String&& value) { m_secretARNHasBeenSet = true; m_secretARN = std::move(value); } /** *

The Amazon Resource Name (ARN) of the MAC Security (MACsec) secret key.

*/ inline void SetSecretARN(const char* value) { m_secretARNHasBeenSet = true; m_secretARN.assign(value); } /** *

The Amazon Resource Name (ARN) of the MAC Security (MACsec) secret key.

*/ inline MacSecKey& WithSecretARN(const Aws::String& value) { SetSecretARN(value); return *this;} /** *

The Amazon Resource Name (ARN) of the MAC Security (MACsec) secret key.

*/ inline MacSecKey& WithSecretARN(Aws::String&& value) { SetSecretARN(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the MAC Security (MACsec) secret key.

*/ inline MacSecKey& WithSecretARN(const char* value) { SetSecretARN(value); return *this;} /** *

The Connection Key Name (CKN) for the MAC Security secret key.

*/ inline const Aws::String& GetCkn() const{ return m_ckn; } /** *

The Connection Key Name (CKN) for the MAC Security secret key.

*/ inline bool CknHasBeenSet() const { return m_cknHasBeenSet; } /** *

The Connection Key Name (CKN) for the MAC Security secret key.

*/ inline void SetCkn(const Aws::String& value) { m_cknHasBeenSet = true; m_ckn = value; } /** *

The Connection Key Name (CKN) for the MAC Security secret key.

*/ inline void SetCkn(Aws::String&& value) { m_cknHasBeenSet = true; m_ckn = std::move(value); } /** *

The Connection Key Name (CKN) for the MAC Security secret key.

*/ inline void SetCkn(const char* value) { m_cknHasBeenSet = true; m_ckn.assign(value); } /** *

The Connection Key Name (CKN) for the MAC Security secret key.

*/ inline MacSecKey& WithCkn(const Aws::String& value) { SetCkn(value); return *this;} /** *

The Connection Key Name (CKN) for the MAC Security secret key.

*/ inline MacSecKey& WithCkn(Aws::String&& value) { SetCkn(std::move(value)); return *this;} /** *

The Connection Key Name (CKN) for the MAC Security secret key.

*/ inline MacSecKey& WithCkn(const char* value) { SetCkn(value); return *this;} /** *

The state of the MAC Security (MACsec) secret key.

The possible values * are:

  • associating: The MAC Security (MACsec) * secret key is being validated and not yet associated with the connection or * LAG.

  • associated: The MAC Security (MACsec) * secret key is validated and associated with the connection or LAG.

  • *
  • disassociating: The MAC Security (MACsec) secret key is * being disassociated from the connection or LAG

  • * disassociated: The MAC Security (MACsec) secret key is no longer * associated with the connection or LAG.

*/ inline const Aws::String& GetState() const{ return m_state; } /** *

The state of the MAC Security (MACsec) secret key.

The possible values * are:

  • associating: The MAC Security (MACsec) * secret key is being validated and not yet associated with the connection or * LAG.

  • associated: The MAC Security (MACsec) * secret key is validated and associated with the connection or LAG.

  • *
  • disassociating: The MAC Security (MACsec) secret key is * being disassociated from the connection or LAG

  • * disassociated: The MAC Security (MACsec) secret key is no longer * associated with the connection or LAG.

*/ inline bool StateHasBeenSet() const { return m_stateHasBeenSet; } /** *

The state of the MAC Security (MACsec) secret key.

The possible values * are:

  • associating: The MAC Security (MACsec) * secret key is being validated and not yet associated with the connection or * LAG.

  • associated: The MAC Security (MACsec) * secret key is validated and associated with the connection or LAG.

  • *
  • disassociating: The MAC Security (MACsec) secret key is * being disassociated from the connection or LAG

  • * disassociated: The MAC Security (MACsec) secret key is no longer * associated with the connection or LAG.

*/ inline void SetState(const Aws::String& value) { m_stateHasBeenSet = true; m_state = value; } /** *

The state of the MAC Security (MACsec) secret key.

The possible values * are:

  • associating: The MAC Security (MACsec) * secret key is being validated and not yet associated with the connection or * LAG.

  • associated: The MAC Security (MACsec) * secret key is validated and associated with the connection or LAG.

  • *
  • disassociating: The MAC Security (MACsec) secret key is * being disassociated from the connection or LAG

  • * disassociated: The MAC Security (MACsec) secret key is no longer * associated with the connection or LAG.

*/ inline void SetState(Aws::String&& value) { m_stateHasBeenSet = true; m_state = std::move(value); } /** *

The state of the MAC Security (MACsec) secret key.

The possible values * are:

  • associating: The MAC Security (MACsec) * secret key is being validated and not yet associated with the connection or * LAG.

  • associated: The MAC Security (MACsec) * secret key is validated and associated with the connection or LAG.

  • *
  • disassociating: The MAC Security (MACsec) secret key is * being disassociated from the connection or LAG

  • * disassociated: The MAC Security (MACsec) secret key is no longer * associated with the connection or LAG.

*/ inline void SetState(const char* value) { m_stateHasBeenSet = true; m_state.assign(value); } /** *

The state of the MAC Security (MACsec) secret key.

The possible values * are:

  • associating: The MAC Security (MACsec) * secret key is being validated and not yet associated with the connection or * LAG.

  • associated: The MAC Security (MACsec) * secret key is validated and associated with the connection or LAG.

  • *
  • disassociating: The MAC Security (MACsec) secret key is * being disassociated from the connection or LAG

  • * disassociated: The MAC Security (MACsec) secret key is no longer * associated with the connection or LAG.

*/ inline MacSecKey& WithState(const Aws::String& value) { SetState(value); return *this;} /** *

The state of the MAC Security (MACsec) secret key.

The possible values * are:

  • associating: The MAC Security (MACsec) * secret key is being validated and not yet associated with the connection or * LAG.

  • associated: The MAC Security (MACsec) * secret key is validated and associated with the connection or LAG.

  • *
  • disassociating: The MAC Security (MACsec) secret key is * being disassociated from the connection or LAG

  • * disassociated: The MAC Security (MACsec) secret key is no longer * associated with the connection or LAG.

*/ inline MacSecKey& WithState(Aws::String&& value) { SetState(std::move(value)); return *this;} /** *

The state of the MAC Security (MACsec) secret key.

The possible values * are:

  • associating: The MAC Security (MACsec) * secret key is being validated and not yet associated with the connection or * LAG.

  • associated: The MAC Security (MACsec) * secret key is validated and associated with the connection or LAG.

  • *
  • disassociating: The MAC Security (MACsec) secret key is * being disassociated from the connection or LAG

  • * disassociated: The MAC Security (MACsec) secret key is no longer * associated with the connection or LAG.

*/ inline MacSecKey& WithState(const char* value) { SetState(value); return *this;} /** *

The date that the MAC Security (MACsec) secret key takes effect. The value is * displayed in UTC format.

*/ inline const Aws::String& GetStartOn() const{ return m_startOn; } /** *

The date that the MAC Security (MACsec) secret key takes effect. The value is * displayed in UTC format.

*/ inline bool StartOnHasBeenSet() const { return m_startOnHasBeenSet; } /** *

The date that the MAC Security (MACsec) secret key takes effect. The value is * displayed in UTC format.

*/ inline void SetStartOn(const Aws::String& value) { m_startOnHasBeenSet = true; m_startOn = value; } /** *

The date that the MAC Security (MACsec) secret key takes effect. The value is * displayed in UTC format.

*/ inline void SetStartOn(Aws::String&& value) { m_startOnHasBeenSet = true; m_startOn = std::move(value); } /** *

The date that the MAC Security (MACsec) secret key takes effect. The value is * displayed in UTC format.

*/ inline void SetStartOn(const char* value) { m_startOnHasBeenSet = true; m_startOn.assign(value); } /** *

The date that the MAC Security (MACsec) secret key takes effect. The value is * displayed in UTC format.

*/ inline MacSecKey& WithStartOn(const Aws::String& value) { SetStartOn(value); return *this;} /** *

The date that the MAC Security (MACsec) secret key takes effect. The value is * displayed in UTC format.

*/ inline MacSecKey& WithStartOn(Aws::String&& value) { SetStartOn(std::move(value)); return *this;} /** *

The date that the MAC Security (MACsec) secret key takes effect. The value is * displayed in UTC format.

*/ inline MacSecKey& WithStartOn(const char* value) { SetStartOn(value); return *this;} private: Aws::String m_secretARN; bool m_secretARNHasBeenSet = false; Aws::String m_ckn; bool m_cknHasBeenSet = false; Aws::String m_state; bool m_stateHasBeenSet = false; Aws::String m_startOn; bool m_startOnHasBeenSet = false; }; } // namespace Model } // namespace DirectConnect } // namespace Aws