or run

npx @tessl/cli init
Log in

Version

Tile

Overview

Evals

Files

Files

docs

index.mdpolicy-events.mdpolicy-metadata.mdpolicy-restrictions.mdpolicy-states.mdpolicy-tracked-resources.mdremediations.md

policy-metadata.mddocs/

0

# Policy Metadata Operations

1

2

## Overview

3

4

Policy Metadata operations enable querying and accessing policy metadata including built-in policy definitions, categories, and detailed policy information for governance and compliance workflows.

5

6

## Core Functionality

7

8

### Query Operations

9

10

#### list

11

12

```python

13

def list(

14

query_options: Optional[QueryOptions] = None,

15

**kwargs

16

) -> ItemPaged[SlimPolicyMetadata]

17

```

18

{ .api }

19

20

List policy metadata resources.

21

22

**Parameters:**

23

- `query_options`: Optional query parameters (top, filter, orderby, select)

24

25

**Returns:** Paginated collection of SlimPolicyMetadata objects

26

27

#### get_resource

28

29

```python

30

def get_resource(

31

resource_name: str,

32

**kwargs

33

) -> PolicyMetadata

34

```

35

{ .api }

36

37

Get a specific policy metadata resource.

38

39

**Parameters:**

40

- `resource_name`: Name of the policy metadata resource

41

42

**Returns:** PolicyMetadata object with full details

43

44

## Related Types

45

46

### PolicyMetadata

47

48

```python

49

class PolicyMetadata:

50

id: Optional[str]

51

type: Optional[str]

52

name: Optional[str]

53

properties: Optional[PolicyMetadataProperties]

54

```

55

{ .api }

56

57

### PolicyMetadataProperties

58

59

```python

60

class PolicyMetadataProperties:

61

metadata_id: Optional[str]

62

category: Optional[str]

63

title: Optional[str]

64

owner: Optional[str]

65

additional_content_url: Optional[str]

66

requirements: Optional[List[str]]

67

description: Optional[str]

68

```

69

{ .api }

70

71

### SlimPolicyMetadata

72

73

```python

74

class SlimPolicyMetadata:

75

id: Optional[str]

76

type: Optional[str]

77

name: Optional[str]

78

properties: Optional[PolicyMetadataSlimProperties]

79

```

80

{ .api }

81

82

### PolicyMetadataSlimProperties

83

84

```python

85

class PolicyMetadataSlimProperties:

86

metadata_id: Optional[str]

87

category: Optional[str]

88

title: Optional[str]

89

owner: Optional[str]

90

additional_content_url: Optional[str]

91

```

92

{ .api }

93

94

### PolicyMetadataCollection

95

96

```python

97

class PolicyMetadataCollection:

98

value: Optional[List[PolicyMetadata]]

99

next_link: Optional[str]

100

```

101

{ .api }

102

103

## Usage Examples

104

105

### List All Policy Metadata

106

107

```python

108

# List all available policy metadata

109

metadata_list = client.policy_metadata.list()

110

111

for metadata in metadata_list:

112

print(f"ID: {metadata.name}")

113

print(f"Category: {metadata.properties.category}")

114

print(f"Title: {metadata.properties.title}")

115

print(f"Owner: {metadata.properties.owner}")

116

print("---")

117

```

118

119

### Filter Policy Metadata by Category

120

121

```python

122

from azure.mgmt.policyinsights.models import QueryOptions

123

124

# Filter metadata by specific category

125

query_options = QueryOptions(

126

filter="properties/category eq 'Security'",

127

top=20

128

)

129

130

security_metadata = client.policy_metadata.list(query_options)

131

132

print("Security-related policy metadata:")

133

for metadata in security_metadata:

134

print(f"- {metadata.properties.title}")

135

if metadata.properties.additional_content_url:

136

print(f" Documentation: {metadata.properties.additional_content_url}")

137

```

138

139

### Get Detailed Policy Metadata

140

141

```python

142

# Get full details for a specific policy metadata resource

143

metadata = client.policy_metadata.get_resource(

144

resource_name="NIST_SP_800-53_R4_AC-1"

145

)

146

147

print(f"Title: {metadata.properties.title}")

148

print(f"Category: {metadata.properties.category}")

149

print(f"Description: {metadata.properties.description}")

150

print(f"Owner: {metadata.properties.owner}")

151

152

if metadata.properties.requirements:

153

print("Requirements:")

154

for requirement in metadata.properties.requirements:

155

print(f" - {requirement}")

156

157

if metadata.properties.additional_content_url:

158

print(f"Additional Content: {metadata.properties.additional_content_url}")

159

```

160

161

### Search Policy Metadata by Title

162

163

```python

164

# Search for metadata containing specific terms

165

query_options = QueryOptions(

166

filter="contains(properties/title, 'encryption')",

167

orderby="properties/title"

168

)

169

170

encryption_metadata = client.policy_metadata.list(query_options)

171

172

print("Encryption-related policies:")

173

for metadata in encryption_metadata:

174

print(f"- {metadata.properties.title}")

175

print(f" Category: {metadata.properties.category}")

176

print(f" ID: {metadata.name}")

177

```

178

179

### Browse by Owner

180

181

```python

182

# List metadata by owner (e.g., Microsoft)

183

query_options = QueryOptions(

184

filter="properties/owner eq 'Microsoft'",

185

select="name,properties/title,properties/category",

186

top=50

187

)

188

189

microsoft_metadata = client.policy_metadata.list(query_options)

190

191

# Group by category

192

categories = {}

193

for metadata in microsoft_metadata:

194

category = metadata.properties.category or "Other"

195

if category not in categories:

196

categories[category] = []

197

categories[category].append(metadata.properties.title)

198

199

for category, titles in categories.items():

200

print(f"\n{category}:")

201

for title in sorted(titles):

202

print(f" - {title}")

203

```

204

205

### Get Compliance Framework Metadata

206

207

```python

208

# Find metadata for specific compliance frameworks

209

frameworks = ["NIST", "CIS", "PCI", "HIPAA", "SOX"]

210

211

for framework in frameworks:

212

query_options = QueryOptions(

213

filter=f"contains(properties/title, '{framework}')"

214

)

215

216

framework_metadata = client.policy_metadata.list(query_options)

217

metadata_list = list(framework_metadata)

218

219

print(f"\n{framework} Framework ({len(metadata_list)} policies):")

220

for metadata in metadata_list:

221

print(f" - {metadata.properties.title}")

222

```