-
Notifications
You must be signed in to change notification settings - Fork 430
/
create_logging_server.php
136 lines (127 loc) · 5.91 KB
/
create_logging_server.php
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
<?php
/*
* Copyright 2024 Google LLC
*
* 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
*
* https://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.
*/
/*
* GENERATED CODE WARNING
* This file was automatically generated - do not edit!
*/
require_once __DIR__ . '/../../../vendor/autoload.php';
// [START vmwareengine_v1_generated_VmwareEngine_CreateLoggingServer_sync]
use Google\ApiCore\ApiException;
use Google\ApiCore\OperationResponse;
use Google\Cloud\VmwareEngine\V1\Client\VmwareEngineClient;
use Google\Cloud\VmwareEngine\V1\CreateLoggingServerRequest;
use Google\Cloud\VmwareEngine\V1\LoggingServer;
use Google\Cloud\VmwareEngine\V1\LoggingServer\Protocol;
use Google\Cloud\VmwareEngine\V1\LoggingServer\SourceType;
use Google\Rpc\Status;
/**
* Create a new logging server for a given private cloud.
*
* @param string $formattedParent The resource name of the private cloud
* to create a new Logging Server in.
* Resource names are schemeless URIs that follow the conventions in
* https://cloud.google.com/apis/design/resource_names.
* For example:
* `projects/my-project/locations/us-central1-a/privateClouds/my-cloud`
* Please see {@see VmwareEngineClient::privateCloudName()} for help formatting this field.
* @param string $loggingServerHostname Fully-qualified domain name (FQDN) or IP Address of the logging
* server.
* @param int $loggingServerPort Port number at which the logging server receives logs.
* @param int $loggingServerProtocol Protocol used by vCenter to send logs to a logging server.
* @param int $loggingServerSourceType The type of component that produces logs that will be forwarded
* to this logging server.
* @param string $loggingServerId The user-provided identifier of the `LoggingServer` to be
* created. This identifier must be unique among `LoggingServer` resources
* within the parent and becomes the final token in the name URI.
* The identifier must meet the following requirements:
*
* * Only contains 1-63 alphanumeric characters and hyphens
* * Begins with an alphabetical character
* * Ends with a non-hyphen character
* * Not formatted as a UUID
* * Complies with [RFC 1034](https://datatracker.ietf.org/doc/html/rfc1034)
* (section 3.5)
*/
function create_logging_server_sample(
string $formattedParent,
string $loggingServerHostname,
int $loggingServerPort,
int $loggingServerProtocol,
int $loggingServerSourceType,
string $loggingServerId
): void {
// Create a client.
$vmwareEngineClient = new VmwareEngineClient();
// Prepare the request message.
$loggingServer = (new LoggingServer())
->setHostname($loggingServerHostname)
->setPort($loggingServerPort)
->setProtocol($loggingServerProtocol)
->setSourceType($loggingServerSourceType);
$request = (new CreateLoggingServerRequest())
->setParent($formattedParent)
->setLoggingServer($loggingServer)
->setLoggingServerId($loggingServerId);
// Call the API and handle any network failures.
try {
/** @var OperationResponse $response */
$response = $vmwareEngineClient->createLoggingServer($request);
$response->pollUntilComplete();
if ($response->operationSucceeded()) {
/** @var LoggingServer $result */
$result = $response->getResult();
printf('Operation successful with response data: %s' . PHP_EOL, $result->serializeToJsonString());
} else {
/** @var Status $error */
$error = $response->getError();
printf('Operation failed with error data: %s' . PHP_EOL, $error->serializeToJsonString());
}
} catch (ApiException $ex) {
printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage());
}
}
/**
* Helper to execute the sample.
*
* This sample has been automatically generated and should be regarded as a code
* template only. It will require modifications to work:
* - It may require correct/in-range values for request initialization.
* - It may require specifying regional endpoints when creating the service client,
* please see the apiEndpoint client configuration option for more details.
*/
function callSample(): void
{
$formattedParent = VmwareEngineClient::privateCloudName(
'[PROJECT]',
'[LOCATION]',
'[PRIVATE_CLOUD]'
);
$loggingServerHostname = '[HOSTNAME]';
$loggingServerPort = 0;
$loggingServerProtocol = Protocol::PROTOCOL_UNSPECIFIED;
$loggingServerSourceType = SourceType::SOURCE_TYPE_UNSPECIFIED;
$loggingServerId = '[LOGGING_SERVER_ID]';
create_logging_server_sample(
$formattedParent,
$loggingServerHostname,
$loggingServerPort,
$loggingServerProtocol,
$loggingServerSourceType,
$loggingServerId
);
}
// [END vmwareengine_v1_generated_VmwareEngine_CreateLoggingServer_sync]