-
Notifications
You must be signed in to change notification settings - Fork 319
Expand file tree
/
Copy pathExportAssetsRequest.php
More file actions
221 lines (217 loc) Β· 7.82 KB
/
ExportAssetsRequest.php
File metadata and controls
221 lines (217 loc) Β· 7.82 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
<?php
/*
* Copyright 2014 Google Inc.
*
* 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.
*/
namespace Google\Service\CloudAsset;
class ExportAssetsRequest extends \Google\Collection
{
/**
* Unspecified content type.
*/
public const CONTENT_TYPE_CONTENT_TYPE_UNSPECIFIED = 'CONTENT_TYPE_UNSPECIFIED';
/**
* Resource metadata.
*/
public const CONTENT_TYPE_RESOURCE = 'RESOURCE';
/**
* The actual IAM policy set on a resource.
*/
public const CONTENT_TYPE_IAM_POLICY = 'IAM_POLICY';
/**
* The organization policy set on an asset.
*/
public const CONTENT_TYPE_ORG_POLICY = 'ORG_POLICY';
/**
* The Access Context Manager policy set on an asset.
*/
public const CONTENT_TYPE_ACCESS_POLICY = 'ACCESS_POLICY';
/**
* The runtime OS Inventory information.
*/
public const CONTENT_TYPE_OS_INVENTORY = 'OS_INVENTORY';
/**
* The related resources.
*/
public const CONTENT_TYPE_RELATIONSHIP = 'RELATIONSHIP';
protected $collection_key = 'relationshipTypes';
/**
* A list of asset types to take a snapshot for. For example:
* "compute.googleapis.com/Disk". Regular expressions are also supported. For
* example: * "compute.googleapis.com.*" snapshots resources whose asset type
* starts with "compute.googleapis.com". * ".*Instance" snapshots resources
* whose asset type ends with "Instance". * ".*Instance.*" snapshots resources
* whose asset type contains "Instance". See
* [RE2](https://github.com/google/re2/wiki/Syntax) for all supported regular
* expression syntax. If the regular expression does not match any supported
* asset type, an INVALID_ARGUMENT error will be returned. If specified, only
* matching assets will be returned, otherwise, it will snapshot all asset
* types. See [Introduction to Cloud Asset
* Inventory](https://cloud.google.com/asset-inventory/docs/overview) for all
* supported asset types.
*
* @var string[]
*/
public $assetTypes;
/**
* Asset content type. If not specified, no content but the asset name will be
* returned.
*
* @var string
*/
public $contentType;
protected $outputConfigType = OutputConfig::class;
protected $outputConfigDataType = '';
/**
* Timestamp to take an asset snapshot. This can only be set to a timestamp
* between the current time and the current time minus 35 days (inclusive). If
* not specified, the current time will be used. Due to delays in resource
* data collection and indexing, there is a volatile window during which
* running the same query may get different results.
*
* @var string
*/
public $readTime;
/**
* A list of relationship types to export, for example:
* `INSTANCE_TO_INSTANCEGROUP`. This field should only be specified if
* content_type=RELATIONSHIP. * If specified: it snapshots specified
* relationships. It returns an error if any of the [relationship_types]
* doesn't belong to the supported relationship types of the [asset_types] or
* if any of the [asset_types] doesn't belong to the source types of the
* [relationship_types]. * Otherwise: it snapshots the supported relationships
* for all [asset_types] or returns an error if any of the [asset_types] has
* no relationship support. An unspecified asset types field means all
* supported asset_types. See [Introduction to Cloud Asset
* Inventory](https://cloud.google.com/asset-inventory/docs/overview) for all
* supported asset types and relationship types.
*
* @var string[]
*/
public $relationshipTypes;
/**
* A list of asset types to take a snapshot for. For example:
* "compute.googleapis.com/Disk". Regular expressions are also supported. For
* example: * "compute.googleapis.com.*" snapshots resources whose asset type
* starts with "compute.googleapis.com". * ".*Instance" snapshots resources
* whose asset type ends with "Instance". * ".*Instance.*" snapshots resources
* whose asset type contains "Instance". See
* [RE2](https://github.com/google/re2/wiki/Syntax) for all supported regular
* expression syntax. If the regular expression does not match any supported
* asset type, an INVALID_ARGUMENT error will be returned. If specified, only
* matching assets will be returned, otherwise, it will snapshot all asset
* types. See [Introduction to Cloud Asset
* Inventory](https://cloud.google.com/asset-inventory/docs/overview) for all
* supported asset types.
*
* @param string[] $assetTypes
*/
public function setAssetTypes($assetTypes)
{
$this->assetTypes = $assetTypes;
}
/**
* @return string[]
*/
public function getAssetTypes()
{
return $this->assetTypes;
}
/**
* Asset content type. If not specified, no content but the asset name will be
* returned.
*
* Accepted values: CONTENT_TYPE_UNSPECIFIED, RESOURCE, IAM_POLICY,
* ORG_POLICY, ACCESS_POLICY, OS_INVENTORY, RELATIONSHIP
*
* @param self::CONTENT_TYPE_* $contentType
*/
public function setContentType($contentType)
{
$this->contentType = $contentType;
}
/**
* @return self::CONTENT_TYPE_*
*/
public function getContentType()
{
return $this->contentType;
}
/**
* Required. Output configuration indicating where the results will be output
* to.
*
* @param OutputConfig $outputConfig
*/
public function setOutputConfig(OutputConfig $outputConfig)
{
$this->outputConfig = $outputConfig;
}
/**
* @return OutputConfig
*/
public function getOutputConfig()
{
return $this->outputConfig;
}
/**
* Timestamp to take an asset snapshot. This can only be set to a timestamp
* between the current time and the current time minus 35 days (inclusive). If
* not specified, the current time will be used. Due to delays in resource
* data collection and indexing, there is a volatile window during which
* running the same query may get different results.
*
* @param string $readTime
*/
public function setReadTime($readTime)
{
$this->readTime = $readTime;
}
/**
* @return string
*/
public function getReadTime()
{
return $this->readTime;
}
/**
* A list of relationship types to export, for example:
* `INSTANCE_TO_INSTANCEGROUP`. This field should only be specified if
* content_type=RELATIONSHIP. * If specified: it snapshots specified
* relationships. It returns an error if any of the [relationship_types]
* doesn't belong to the supported relationship types of the [asset_types] or
* if any of the [asset_types] doesn't belong to the source types of the
* [relationship_types]. * Otherwise: it snapshots the supported relationships
* for all [asset_types] or returns an error if any of the [asset_types] has
* no relationship support. An unspecified asset types field means all
* supported asset_types. See [Introduction to Cloud Asset
* Inventory](https://cloud.google.com/asset-inventory/docs/overview) for all
* supported asset types and relationship types.
*
* @param string[] $relationshipTypes
*/
public function setRelationshipTypes($relationshipTypes)
{
$this->relationshipTypes = $relationshipTypes;
}
/**
* @return string[]
*/
public function getRelationshipTypes()
{
return $this->relationshipTypes;
}
}
// Adding a class alias for backwards compatibility with the previous class name.
class_alias(ExportAssetsRequest::class, 'Google_Service_CloudAsset_ExportAssetsRequest');