# MachineDeployment Controller

{% method %}
## MachineDeployment

{% sample lang="go" %}
[import:'MachineDeployment'](../../../pkg/apis/cluster/v1alpha1/machinedeployment_types.go)
{% endmethod %}

{% method %}
## MachineDeploymentSpec

{% sample lang="go" %}
[import:'MachineDeploymentSpec'](../../../pkg/apis/cluster/v1alpha1/machinedeployment_types.go)
{% endmethod %}

{% method %}
## MachineDeploymentStrategy

{% sample lang="go" %}
[import:'MachineDeploymentStrategy'](../../../pkg/apis/cluster/v1alpha1/machinedeployment_types.go)
{% endmethod %}

{% method %}
## MachineRollingUpdateDeployment

{% sample lang="go" %}
[import:'MachineRollingUpdateDeployment'](../../../pkg/apis/cluster/v1alpha1/machinedeployment_types.go)
{% endmethod %}

{% method %}

## MachineDeploymentStatus

{% sample lang="go" %}
[import:'MachineDeploymentStatus'](../../../pkg/apis/cluster/v1alpha1/machinedeployment_types.go)
{% endmethod %}

## MachineDeployment Controller Semantics

![machinedeployment object reconciliation logic](images/activity_machinedeployment_reconciliation.svg)

