Google-Cloud-Compute-V1
view release on metacpan or search on metacpan
lib/Google/Cloud/Compute/V1/InstancesClient.pm view on Meta::CPAN
service => 'google.cloud.compute.v1.Instances',
method => 'StartWithEncryptionKey',
request => $request,
response_class => $response_class,
});
return $response;
}
sub stop {
my ($self, %params) = @_;
my $request_class = 'Google::Cloud::Compute::V1::Compute::StopInstanceRequest';
my $request = eval { $request_class->new(\%params) } || eval { $request_class->new(%params) } || ($request_class->can('encode') ? $request_class->encode(\%params) : \%params);
my $response_class = 'Google::Cloud::Compute::V1::Compute::Operation';
my $response = $self->transport->call({
service => 'google.cloud.compute.v1.Instances',
method => 'Stop',
request => $request,
response_class => $response_class,
});
return $response;
}
sub suspend {
my ($self, %params) = @_;
my $request_class = 'Google::Cloud::Compute::V1::Compute::SuspendInstanceRequest';
my $request = eval { $request_class->new(\%params) } || eval { $request_class->new(%params) } || ($request_class->can('encode') ? $request_class->encode(\%params) : \%params);
my $response_class = 'Google::Cloud::Compute::V1::Compute::Operation';
my $response = $self->transport->call({
service => 'google.cloud.compute.v1.Instances',
method => 'Suspend',
request => $request,
response_class => $response_class,
});
return $response;
}
sub test_iam_permissions {
my ($self, %params) = @_;
my $request_class = 'Google::Cloud::Compute::V1::Compute::TestIamPermissionsInstanceRequest';
my $request = eval { $request_class->new(\%params) } || eval { $request_class->new(%params) } || ($request_class->can('encode') ? $request_class->encode(\%params) : \%params);
my $response_class = 'Google::Cloud::Compute::V1::Compute::TestPermissionsResponse';
my $response = $self->transport->call({
service => 'google.cloud.compute.v1.Instances',
method => 'TestIamPermissions',
request => $request,
response_class => $response_class,
});
return $response;
}
sub update {
my ($self, %params) = @_;
my $request_class = 'Google::Cloud::Compute::V1::Compute::UpdateInstanceRequest';
my $request = eval { $request_class->new(\%params) } || eval { $request_class->new(%params) } || ($request_class->can('encode') ? $request_class->encode(\%params) : \%params);
my $response_class = 'Google::Cloud::Compute::V1::Compute::Operation';
my $response = $self->transport->call({
service => 'google.cloud.compute.v1.Instances',
method => 'Update',
request => $request,
response_class => $response_class,
});
return $response;
}
sub update_access_config {
my ($self, %params) = @_;
my $request_class = 'Google::Cloud::Compute::V1::Compute::UpdateAccessConfigInstanceRequest';
my $request = eval { $request_class->new(\%params) } || eval { $request_class->new(%params) } || ($request_class->can('encode') ? $request_class->encode(\%params) : \%params);
my $response_class = 'Google::Cloud::Compute::V1::Compute::Operation';
my $response = $self->transport->call({
service => 'google.cloud.compute.v1.Instances',
method => 'UpdateAccessConfig',
request => $request,
response_class => $response_class,
});
return $response;
}
sub update_display_device {
my ($self, %params) = @_;
my $request_class = 'Google::Cloud::Compute::V1::Compute::UpdateDisplayDeviceInstanceRequest';
my $request = eval { $request_class->new(\%params) } || eval { $request_class->new(%params) } || ($request_class->can('encode') ? $request_class->encode(\%params) : \%params);
my $response_class = 'Google::Cloud::Compute::V1::Compute::Operation';
my $response = $self->transport->call({
service => 'google.cloud.compute.v1.Instances',
method => 'UpdateDisplayDevice',
request => $request,
response_class => $response_class,
});
return $response;
}
sub update_network_interface {
my ($self, %params) = @_;
my $request_class = 'Google::Cloud::Compute::V1::Compute::UpdateNetworkInterfaceInstanceRequest';
my $request = eval { $request_class->new(\%params) } || eval { $request_class->new(%params) } || ($request_class->can('encode') ? $request_class->encode(\%params) : \%params);
my $response_class = 'Google::Cloud::Compute::V1::Compute::Operation';
my $response = $self->transport->call({
service => 'google.cloud.compute.v1.Instances',
method => 'UpdateNetworkInterface',
request => $request,
response_class => $response_class,
});
return $response;
}
sub update_shielded_instance_config {
my ($self, %params) = @_;
my $request_class = 'Google::Cloud::Compute::V1::Compute::UpdateShieldedInstanceConfigInstanceRequest';
my $request = eval { $request_class->new(\%params) } || eval { $request_class->new(%params) } || ($request_class->can('encode') ? $request_class->encode(\%params) : \%params);
my $response_class = 'Google::Cloud::Compute::V1::Compute::Operation';
my $response = $self->transport->call({
service => 'google.cloud.compute.v1.Instances',
method => 'UpdateShieldedInstanceConfig',
request => $request,
response_class => $response_class,
});
return $response;
}
1; # End of Google::Cloud::Compute::V1::InstancesClient
__END__
=head1 NAME
Google::Cloud::Compute::V1::InstancesClient - Client library for Google Cloud Services
=head1 SYNOPSIS
use Google::Cloud::Compute::V1::InstancesClient;
use Google::Auth;
my $auth = Google::Auth->default();
# 1. High-performance gRPC Transport (Default)
my $grpc_client = Google::Cloud::Compute::V1::InstancesClient->new(
credentials => $auth,
transport => 'grpc', # Optional: 'grpc' is default
);
# 2. HTTP/REST Transport
my $rest_client = Google::Cloud::Compute::V1::InstancesClient->new(
credentials => $auth,
transport => 'rest',
);
# Execute service methods
my $res = $grpc_client->some_method( %params );
=head1 DESCRIPTION
C<Google::Cloud::Compute::V1::InstancesClient> is an auto-generated client library for Google Cloud Services.
It provides a unified client interface supporting both high-performance HTTP/2 gRPC and HTTP/REST transports, with automatic Google Cloud Application Default Credentials (ADC) resolution and typed Protocol Buffers message handling.
=head1 SOURCE
Generated from the following Protocol Buffers schemas:
=over 4
=item * C<google/cloud/compute/v1/compute.proto>
( run in 1.257 second using v1.01-cache-2.11-cpan-7e94247ccb0 )