1 /** 2 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 * SPDX-License-Identifier: Apache-2.0. 4 */ 5 6 #include <aws/greengrass/model/ResourceAccessPolicy.h> 7 #include <aws/core/utils/json/JsonSerializer.h> 8 9 #include <utility> 10 11 using namespace Aws::Utils::Json; 12 using namespace Aws::Utils; 13 14 namespace Aws 15 { 16 namespace Greengrass 17 { 18 namespace Model 19 { 20 ResourceAccessPolicy()21ResourceAccessPolicy::ResourceAccessPolicy() : 22 m_permission(Permission::NOT_SET), 23 m_permissionHasBeenSet(false), 24 m_resourceIdHasBeenSet(false) 25 { 26 } 27 ResourceAccessPolicy(JsonView jsonValue)28ResourceAccessPolicy::ResourceAccessPolicy(JsonView jsonValue) : 29 m_permission(Permission::NOT_SET), 30 m_permissionHasBeenSet(false), 31 m_resourceIdHasBeenSet(false) 32 { 33 *this = jsonValue; 34 } 35 operator =(JsonView jsonValue)36ResourceAccessPolicy& ResourceAccessPolicy::operator =(JsonView jsonValue) 37 { 38 if(jsonValue.ValueExists("Permission")) 39 { 40 m_permission = PermissionMapper::GetPermissionForName(jsonValue.GetString("Permission")); 41 42 m_permissionHasBeenSet = true; 43 } 44 45 if(jsonValue.ValueExists("ResourceId")) 46 { 47 m_resourceId = jsonValue.GetString("ResourceId"); 48 49 m_resourceIdHasBeenSet = true; 50 } 51 52 return *this; 53 } 54 Jsonize() const55JsonValue ResourceAccessPolicy::Jsonize() const 56 { 57 JsonValue payload; 58 59 if(m_permissionHasBeenSet) 60 { 61 payload.WithString("Permission", PermissionMapper::GetNameForPermission(m_permission)); 62 } 63 64 if(m_resourceIdHasBeenSet) 65 { 66 payload.WithString("ResourceId", m_resourceId); 67 68 } 69 70 return payload; 71 } 72 73 } // namespace Model 74 } // namespace Greengrass 75 } // namespace Aws 76