/** * 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 VerifiedPermissions { namespace Model { /** *

Contains a list of principal types, resource types, and actions that can be * specified in policies stored in the same policy store. If the validation mode * for the policy store is set to STRICT, then policies that can't be * validated by this schema are rejected by Verified Permissions and can't be * stored in the policy store.

See Also:

AWS * API Reference

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

A JSON string representation of the schema supported by applications that use * this policy store. For more information, see Policy * store schema in the Amazon Verified Permissions User Guide.

*/ inline const Aws::String& GetCedarJson() const{ return m_cedarJson; } /** *

A JSON string representation of the schema supported by applications that use * this policy store. For more information, see Policy * store schema in the Amazon Verified Permissions User Guide.

*/ inline bool CedarJsonHasBeenSet() const { return m_cedarJsonHasBeenSet; } /** *

A JSON string representation of the schema supported by applications that use * this policy store. For more information, see Policy * store schema in the Amazon Verified Permissions User Guide.

*/ inline void SetCedarJson(const Aws::String& value) { m_cedarJsonHasBeenSet = true; m_cedarJson = value; } /** *

A JSON string representation of the schema supported by applications that use * this policy store. For more information, see Policy * store schema in the Amazon Verified Permissions User Guide.

*/ inline void SetCedarJson(Aws::String&& value) { m_cedarJsonHasBeenSet = true; m_cedarJson = std::move(value); } /** *

A JSON string representation of the schema supported by applications that use * this policy store. For more information, see Policy * store schema in the Amazon Verified Permissions User Guide.

*/ inline void SetCedarJson(const char* value) { m_cedarJsonHasBeenSet = true; m_cedarJson.assign(value); } /** *

A JSON string representation of the schema supported by applications that use * this policy store. For more information, see Policy * store schema in the Amazon Verified Permissions User Guide.

*/ inline SchemaDefinition& WithCedarJson(const Aws::String& value) { SetCedarJson(value); return *this;} /** *

A JSON string representation of the schema supported by applications that use * this policy store. For more information, see Policy * store schema in the Amazon Verified Permissions User Guide.

*/ inline SchemaDefinition& WithCedarJson(Aws::String&& value) { SetCedarJson(std::move(value)); return *this;} /** *

A JSON string representation of the schema supported by applications that use * this policy store. For more information, see Policy * store schema in the Amazon Verified Permissions User Guide.

*/ inline SchemaDefinition& WithCedarJson(const char* value) { SetCedarJson(value); return *this;} private: Aws::String m_cedarJson; bool m_cedarJsonHasBeenSet = false; }; } // namespace Model } // namespace VerifiedPermissions } // namespace Aws